传递给打开系统调用的文件名不以空结尾



我正在尝试编写一个shellcode来创建一个文件并写入它。文件名在外壳代码中传递,并且不以空结尾。打开系统调用后,我收到错误代码-2。当传递给打开系统调用的文件名未以 null 结尾时会发生什么情况?

经过一番研究,我找到了这个答案。文件名应以空结尾。如果不是,操作系统将继续查找空字符。大多数系统对文件名(包括路径)的大小都有上限,因此如果未找到空字符,则假定文件名超过上限并引发错误。

最新更新