|
|
|
|
|
by hramrach
1607 days ago
|
|
I believe it completely solves the question ? May we remove '*p = 0;', whether we remove the malloc+free or not? Sure, it does not solve the question when arbitrarily removing NULL pointer checks is OK. It is true that when the compiler is inlining code or expanding a macro it may have a NULL check that is spurious in environments that do not map page 0 based on the observation that the pointer was dereferenced previously. And this assumption is incorrect in environments that do map page 0 causing wrong code generation. |
|