我的代码如下:
void kernel_version(char * kernel_str)
{
FILE * fp = fopen(log, "a");
FILE * pipe = popen("uname -r", "r");
if(fp && pipe)
{
//
}
pclose(pipe);
pclose(fp);
}
当动态分配内存时,通常会发生泄漏。但是,我没有在代码中的任何位置动态分配内存。 我无法指出泄漏。
答案 0 :(得分:1)
最后一行不应该是fclose(fp)
吗?
我认为事情出了问题。
将pclose(fp)
更改为fclose(fp)
。
fopen() -> fclose()
popen() -> pclose()