ignorecase: Don't crash if enumeration returned a NULL pointer.
authorRyan C. Gordon <icculus@icculus.org>
Fri, 09 Mar 2018 14:50:37 -0500
changeset 1638 1cbecbcf537e
parent 1635 f50073f63720
child 1639 46561a309895
ignorecase: Don't crash if enumeration returned a NULL pointer.
(transplanted from f83d05e87212a5c7e377f3b205e6d70fc42772d4)
extras/ignorecase.c
--- a/extras/ignorecase.c	Thu Mar 08 12:21:45 2018 -0500
+++ b/extras/ignorecase.c	Fri Mar 09 14:50:37 2018 -0500
@@ -50,18 +50,22 @@
         ptr++;  /* point past dirsep to entry itself. */
     } /* else */
 
-    for (i = rc; *i != NULL; i++)
+    if (rc != NULL)
     {
-        if (PHYSFS_utf8stricmp(*i, ptr) == 0)
+        for (i = rc; *i != NULL; i++)
         {
-            strcpy(ptr, *i); /* found a match. Overwrite with this case. */
-            PHYSFS_freeList(rc);
-            return 1;
-        } /* if */
-    } /* for */
+            if (PHYSFS_utf8stricmp(*i, ptr) == 0)
+            {
+                strcpy(ptr, *i); /* found a match. Overwrite with this case. */
+                PHYSFS_freeList(rc);
+                return 1;
+            } /* if */
+        } /* for */
+
+        PHYSFS_freeList(rc);
+    } /* if */
 
     /* no match at all... */
-    PHYSFS_freeList(rc);
     return 0;
 } /* locateOneElement */