Valgrind 报告内存泄漏,尽管没有 [c]
Valgrind reports memory leak though there isn't one [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()
我的代码如下:
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()