archivers/zip.c
changeset 646 86be93f03eb7
parent 644 1cb5533d369c
child 648 5c993684b8f2
--- a/archivers/zip.c	Thu Sep 23 06:53:16 2004 +0000
+++ b/archivers/zip.c	Thu Sep 23 23:59:17 2004 +0000
@@ -192,8 +192,13 @@
     PHYSFS_allocator *allocator = __PHYSFS_getAllocator();
     size_t total = (items * size) + sizeof (PHYSFS_memhandle);
     PHYSFS_memhandle h = allocator->malloc(total);
-    char *ptr = (char *) allocator->lock(h);
-    PHYSFS_memhandle *ph = (PHYSFS_memhandle *) ptr;
+    char *ptr;
+    PHYSFS_memhandle *ph;
+    if (h == NULL)
+        return(NULL);
+
+    ptr = (char *) allocator->lock(h);
+    ph = (PHYSFS_memhandle *) ptr;
     *ph = h; /* tuck the memhandle in front of the memory block... */
     return(ptr + sizeof (PHYSFS_memhandle));
 } /* zlibPhysfsAlloc */