瓦尔格林德报告内存泄漏,但没有一个 [c]



我的代码看起来像:

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

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

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

我认为这是出现问题的地方。

pclose(fp)更改为fclose(fp)

fopen() -> fclose()
popen() -> pclose()

相关内容

最新更新