>>409
*p = (char*)malloc(1)
したあとに
*p = 0;
が必要では?