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)