Browse Source

SDL_LoadObject (windows, os/2): prevent crash if dll name is NULL.

Ozkan Sezer 4 years ago
parent
commit
3b92933ac6
2 changed files with 16 additions and 2 deletions
  1. 7 1
      src/loadso/os2/SDL_sysloadso.c
  2. 9 1
      src/loadso/windows/SDL_sysloadso.c

+ 7 - 1
src/loadso/os2/SDL_sysloadso.c

@@ -37,9 +37,15 @@ SDL_LoadObject(const char *sofile)
 {
     ULONG   ulRC;
     HMODULE hModule;
-    PSZ     pszModName = OS2_UTF8ToSys(sofile);
     CHAR    acError[256];
+    PSZ     pszModName;
 
+    if (!sofile) {
+        SDL_SetError("NULL sofile");
+        return NULL;
+    }
+
+    pszModName = OS2_UTF8ToSys(sofile);
     ulRC = DosLoadModule(acError, sizeof(acError), pszModName, &hModule);
     SDL_free(pszModName);
     if (ulRC != NO_ERROR) {

+ 9 - 1
src/loadso/windows/SDL_sysloadso.c

@@ -32,7 +32,15 @@
 void *
 SDL_LoadObject(const char *sofile)
 {
-    LPTSTR tstr = WIN_UTF8ToString(sofile);
+    LPTSTR tstr;
+
+    if (!sofile) {
+        SDL_SetError("NULL sofile");
+        return NULL;
+    }
+
+    tstr = WIN_UTF8ToString(sofile);
+
 #ifdef __WINRT__
     /* WinRT only publically supports LoadPackagedLibrary() for loading .dll
        files.  LoadLibrary() is a private API, and not available for apps