普通、

free(p);
p=NULL;

ってしない?