...
Compass/ROSE is able to detect violations of this rule. In particular, Rose ensures that any pointer returned by malloc()
, calloc()
, or realloc()
is first checked for NULL before being used (otherwise it is free()
-d). Rose doesn't does not handle cases where an allocation is assigned to an lvalue that is not a variable (such as a struct member or C++ function call returning a reference.)
...