- warning fix
- minor error reported by valgrind
set freed char* ptrs to NULL before SvPV to avoid race

Race can be caused by passing undef to the code and simultaneously intercepting
$SIG{__WARN__} and longjmp'ing by die/eval outside of it, causing free'd
pointer to be freed again.  Found in VB under unix when trying to see how it
reacts to DriveComboBox widget that only works under win32.

caused by undefs+overridden $SIG{WARN}