소스 검색

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

Clinton Stimpson 17 년 전
부모
커밋
0d845b8da8
1개의 변경된 파일6개의 추가작업 그리고 1개의 파일을 삭제
  1. 6 1
      Source/kwsys/DynamicLoader.cxx

+ 6 - 1
Source/kwsys/DynamicLoader.cxx

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