Valgrind报告内存泄漏虽然没有[E]

时间:2017-02-26 17:36:16

标签: c memory-leaks valgrind

我的代码如下:

void kernel_version(char * kernel_str)
{
    FILE * fp       = fopen(log, "a");
    FILE * pipe     = popen("uname -r", "r");

    if(fp && pipe)
    {
        //
    }

    pclose(pipe);
    pclose(fp);
}

当动态分配内存时,通常会发生泄漏。但是,我没有在代码中的任何位置动态分配内存。 我无法指出泄漏。

1 个答案:

答案 0 :(得分:1)

最后一行不应该是fclose(fp)吗?

我认为事情出了问题。

pclose(fp)更改为fclose(fp)

fopen() -> fclose()

popen() -> pclose()