我的下面的代码工作正常但仍然“cppcheck”正在发出警告,
Either the condition 'mem_limit_str!=0' is redundant or there is possible null pointer dereference: mem_limit_str.
以下是代码,
if (mem_limit_str!= NULL) //CPPCHECK error
free(mem_limit_str);
有人可以帮我解决这个问题吗?
答案 0 :(得分:5)
您不需要在free
之前检查空指针。你可以简单地说:
free(mem_limit_str); // no if condition
此警告只是告诉if
条件是多余的。
来自n1124草稿
7.20.3.2自由功能
<强>概要强>
#include <stdlib.h> void free(void *ptr);
<强>描述强>
free函数导致ptr指向的空间 取消分配,即可用于进一步分配。如果是ptr 空指针,不会发生任何操作。 [...]
答案 1 :(得分:3)