use safer p_clear when possible.