Null pointer checks for member variables like "pcategory_prefixes" and "inputBuffer" are not needed for the delete instruction.
http://dietmar-kuehl.de/mirror/c++-faq/freestore-mgmt.html#faq-16.8
http://scribeserver.svn.sourceforge.net/viewvc/scribeserver/trunk/src/scribe_server.cpp?revision=3&view=markup
http://scribeserver.svn.sourceforge.net/viewvc/scribeserver/trunk/src/file.cpp?revision=3&view=markup
Can smart pointers like std::auto_ptr or boost::shared_ptr help in this use case?