BUG: FormatMessage can return a NULL message. Add check for NULL pointer.

This commit is contained in:
Clinton Stimpson 2008-06-02 19:44:02 -04:00
parent bed3ac8741
commit 0d845b8da8
1 changed files with 6 additions and 1 deletions

View File

@ -305,7 +305,7 @@ const char* DynamicLoader::LibExtension()
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
const char* DynamicLoader::LastError() const char* DynamicLoader::LastError()
{ {
LPVOID lpMsgBuf; LPVOID lpMsgBuf=NULL;
FormatMessage( FormatMessage(
FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM, FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM,
@ -317,6 +317,11 @@ const char* DynamicLoader::LastError()
NULL NULL
); );
if(!lpMsgBuf)
{
return NULL;
}
static char* str = 0; static char* str = 0;
delete [] str; delete [] str;
str = strcpy(new char[strlen((char*)lpMsgBuf)+1], (char*)lpMsgBuf); str = strcpy(new char[strlen((char*)lpMsgBuf)+1], (char*)lpMsgBuf);