From 0bad12d4015b55e222b3bb1bfef43dc2b551be77 Mon Sep 17 00:00:00 2001 From: "Ryan C. Gordon" Date: Fri, 9 Mar 2018 14:50:37 -0500 Subject: [PATCH] ignorecase: Don't crash if enumeration returned a NULL pointer. (transplanted from f83d05e87212a5c7e377f3b205e6d70fc42772d4) --- extras/ignorecase.c | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/extras/ignorecase.c b/extras/ignorecase.c index e6ea6e3b..5f0f35b8 100644 --- a/extras/ignorecase.c +++ b/extras/ignorecase.c @@ -50,18 +50,22 @@ static int locateOneElement(char *buf) 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 */