Any reasons why this can not be standard behavior of free()?
free()
multiple pointers pointing to the same object:
#include #i
If it did, you would have to pass a pointer to a pointer to the function:
int * p = malloc( sizeof( int )); free( & p );
which I'm sure many people would get wrong.