Commit 1d82b6f0d75 for php.net
commit 1d82b6f0d752bf0fd96fb6b337f6aa36dd4a0183
Author: Dmitry Rantovov <rantovov@bk.ru>
Date: Sun Sep 6 15:34:37 2026 +0300
sapi/phpdbg: restore the DEFAULT_SLASH check on the module path (#23583)
The move to memchr() in GH-21578 changed:
`if (strchr(*path, '/') != NULL || strchr(*path, DEFAULT_SLASH) != NULL) {`
to
`if (memchr(ZSTR_VAL(*path), '/', ZSTR_LEN(*path)) != NULL || memchr(ZSTR_VAL(*path), '/', ZSTR_LEN(*path)) != NULL) {`
instead of
`if (memchr(ZSTR_VAL(*path), '/', ZSTR_LEN(*path)) != NULL || memchr(ZSTR_VAL(*path), DEFAULT_SLASH, ZSTR_LEN(*path)) != NULL) {`
Fix this.
diff --git a/sapi/phpdbg/phpdbg_prompt.c b/sapi/phpdbg/phpdbg_prompt.c
index d6249ae068d..88afd1b3752 100644
--- a/sapi/phpdbg/phpdbg_prompt.c
+++ b/sapi/phpdbg/phpdbg_prompt.c
@@ -1192,7 +1192,7 @@ static const char *phpdbg_load_module_or_extension(zend_string **path, const cha
phpdbg_error("extension_dir ini setting contains a nul byte");
return NULL;
}
- if (memchr(ZSTR_VAL(*path), '/', ZSTR_LEN(*path)) != NULL || memchr(ZSTR_VAL(*path), '/', ZSTR_LEN(*path)) != NULL) {
+ if (memchr(ZSTR_VAL(*path), '/', ZSTR_LEN(*path)) != NULL || memchr(ZSTR_VAL(*path), DEFAULT_SLASH, ZSTR_LEN(*path)) != NULL) {
/* path is fine */
} else if (extension_dir && ZSTR_LEN(extension_dir) > 0) {
zend_string *libpath;