>if(p) free(p)
でどんな万が一が防げるの?