diff options
Diffstat (limited to 'main/php_ini.c')
| -rw-r--r-- | main/php_ini.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/main/php_ini.c b/main/php_ini.c index 4e013c8aca..7b0375027d 100644 --- a/main/php_ini.c +++ b/main/php_ini.c @@ -353,7 +353,7 @@ static void php_load_php_extension_cb(void *arg) static void php_load_zend_extension_cb(void *arg) { char *filename = *((char **) arg); - const int length = (int)strlen(filename); + const size_t length = strlen(filename); #ifndef PHP_WIN32 (void) length; @@ -365,9 +365,13 @@ static void php_load_zend_extension_cb(void *arg) DL_HANDLE handle; char *libpath; char *extension_dir = INI_STR("extension_dir"); - int extension_dir_len = (int)strlen(extension_dir); - int slash_suffix = IS_SLASH(extension_dir[extension_dir_len-1]); + int slash_suffix = 0; char *err1, *err2; + + if (extension_dir && extension_dir[0]) { + slash_suffix = IS_SLASH(extension_dir[strlen(extension_dir)-1]); + } + /* Try as filename first */ if (slash_suffix) { spprintf(&libpath, 0, "%s%s", extension_dir, filename); /* SAFE */ |
