From 8b278c90174b03b57ea694bf4c323cc00d113fdd Mon Sep 17 00:00:00 2001 From: Peter Kokot Date: Sat, 12 Jul 2025 20:34:46 +0200 Subject: [PATCH] Fix missing strnlen symbol on Solaris 10 - 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 45791a34c5f80..69a546afce491 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 8255db75073d5..2bd6ae26ce625 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 8757ec0783f6d..8edfb8326da41 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 ||