Index: /trunk/src/VBox/GuestHost/OpenGL/spu_loader/spuload.c
===================================================================
--- /trunk/src/VBox/GuestHost/OpenGL/spu_loader/spuload.c	(revision 66050)
+++ /trunk/src/VBox/GuestHost/OpenGL/spu_loader/spuload.c	(revision 66051)
@@ -97,4 +97,10 @@
         path = __findDLL( name, dir );
         the_spu->dll = crDLLOpen( path, 0/*resolveGlobal*/ );
+        if (the_spu->dll == NULL)
+        {
+                crError("Couldn't load the DLL \"%s\"!\n", path);
+                crFree(the_spu);
+                return NULL;
+        }
 #if defined(DEBUG_misha) && defined(RT_OS_WINDOWS)
         crDbgCmdSymLoadPrint(path, the_spu->dll->hinstLib);
Index: /trunk/src/VBox/GuestHost/OpenGL/util/dll.c
===================================================================
--- /trunk/src/VBox/GuestHost/OpenGL/util/dll.c	(revision 66050)
+++ /trunk/src/VBox/GuestHost/OpenGL/util/dll.c	(revision 66051)
@@ -291,4 +291,6 @@
 		}
 		crError( "DLL Loader couldn't find/open %s", dllname );
+                crFree(dll);
+                dll = NULL;
 	}
 	return dll;
