From 86cca4e6961d88fd313aa139b188a88a94402b15 Mon Sep 17 00:00:00 2001 From: Ilia Alshanetsky Date: Thu, 15 Nov 2007 18:57:14 +0000 Subject: [PATCH] Completed fix for bug #42739 (fixes bug #43276) --- main/safe_mode.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/main/safe_mode.c b/main/safe_mode.c index 97c7613dde..e14ba189f9 100644 --- a/main/safe_mode.c +++ b/main/safe_mode.c @@ -122,10 +122,17 @@ PHPAPI int php_checkuid_ex(const char *filename, const char *fopen_mode, int mod /* Trim off filename */ if ((s = strrchr(path, DEFAULT_SLASH))) { - if (s == path) - path[1] = '\0'; - else + if (*(s + 1) == '\0' && s != path) { /* make sure that the / is not the last character */ *s = '\0'; + s = strrchr(path, DEFAULT_SLASH); + } + if (s) { + if (s == path) { + path[1] = '\0'; + } else { + *s = '\0'; + } + } } } else { /* CHECKUID_ALLOW_ONLY_DIR */ s = strrchr(filename, DEFAULT_SLASH); -- 2.50.1