From a4d39f971379223dfcbfa7c7c37678a55887255a Mon Sep 17 00:00:00 2001 From: Peter Kokot Date: Mon, 14 Jul 2025 23:07:04 +0200 Subject: [PATCH] Fix missing strnlen symbol on Solaris 10 (#19109) - On Solaris, strnlen was implemented on Solaris 11. - In Autotools, strnlen can be also checked in Zend scope as HAVE_STRNLEN is used only there. --- Zend/Zend.m4 | 1 + configure.ac | 1 - main/php_glob.c | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Zend/Zend.m4 b/Zend/Zend.m4 index 45791a34c5f..69a546afce4 100644 --- a/Zend/Zend.m4 +++ b/Zend/Zend.m4 @@ -149,6 +149,7 @@ AC_CHECK_FUNCS(m4_normalize([ pthread_get_stackaddr_np pthread_getattr_np pthread_stackseg_np + strnlen ])) AC_CHECK_DECL([clock_gettime_nsec_np], diff --git a/configure.ac b/configure.ac index 8255db75073..2bd6ae26ce6 100644 --- a/configure.ac +++ b/configure.ac @@ -577,7 +577,6 @@ AC_CHECK_FUNCS(m4_normalize([ statvfs std_syslog strcasecmp - strnlen strptime strtok_r symlink diff --git a/main/php_glob.c b/main/php_glob.c index 8757ec0783f..8edfb8326da 100644 --- a/main/php_glob.c +++ b/main/php_glob.c @@ -266,7 +266,7 @@ PHPAPI int php_glob(const char *pattern, int flags, int (*errfunc)(const char *, pglob->gl_errfunc = errfunc; pglob->gl_matchc = 0; - if (strnlen(pattern, PATH_MAX) == PATH_MAX) + if (zend_strnlen(pattern, PATH_MAX) == PATH_MAX) return(PHP_GLOB_NOMATCH); if (pglob->gl_offs >= SSIZE_MAX || pglob->gl_pathc >= SSIZE_MAX ||