Mi verrebbe da dire che devi scambiare le ultime 2 righe dell'if senza asterisco

free(p_T);
p_T=NULL;

Prima liberi la memoria e poi poni il puntatore a NULL...