Hi,

I add a problem where dlopen would access violate if passed a non-existent dll.

The problem is that is this case, LoadLibrary is called with a NULL pointer.
It also seems that this does not always AV (depending on Os version...).

What this patch does is only checking the null pointer case and returning without 
trying to call LoadLibrary.



--- dlfcn.cc.ori        Tue Oct 10 02:00:50 2000
+++ dlfcn.cc    Wed Feb 14 14:54:40 2001
@@ -177,7 +177,10 @@ dlopen (const char *name, int)
     {
       /* handle for the named library */
       const char *fullpath = get_full_path_of_dll (name);
-      ret = (void *) LoadLibrary (fullpath);
+      if (fullpath)
+      {
+       ret = (void *) LoadLibrary (fullpath);
+      }
     }

   if (!ret)

Reply via email to