小编Ale*_*ini的帖子

可能无法识别的缓冲区溢出

我正在开发一个函数,该函数执行特定的 powershell 命令,然后返回输出(如果与 EOF 不同)。该函数第一次正确执行,但第二次输出很奇怪,表明我的代码的某些部分存在缓冲区溢出。我找不到它。否则,我无法为这种行为找出其他可能的解决方案。

\n

这是代码:

\n
char* buffer_reset(char* buffer);\nbool jobsreader (const char* printer_name, char* buffer);\n\nint main (int argc, char *argv[]) {\n    char buffer[1000];\n    char* pbuffer = buffer;\n    jobsreader("Microsoft Print to PDF", pbuffer);\n    pbuffer = buffer_reset(pbuffer);\n    jobsreader("Microsoft Print to PDF", pbuffer);\n    return 0;\n}\n\nchar* buffer_reset(char* buffer) {\n    char* memory_reset = &buffer[0];\n    char* start = memory_reset;\n    while (*memory_reset != '\\0') {\n        *memory_reset = '\\0';\n        memory_reset++;\n    }\n    buffer = start;\n    return buffer;\n}\n\nbool jobsreader (const char* printer_name, char* buffer) {\n    FILE *output;\n    const …
Run Code Online (Sandbox Code Playgroud)

c powershell buffer overflow

0
推荐指数
1
解决办法
60
查看次数

标签 统计

buffer ×1

c ×1

overflow ×1

powershell ×1