diff options
Diffstat (limited to 'main/php_ini.c')
-rw-r--r-- | main/php_ini.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/main/php_ini.c b/main/php_ini.c index 7d4e916432..f4c61820ae 100644 --- a/main/php_ini.c +++ b/main/php_ini.c @@ -339,6 +339,13 @@ static void php_load_zend_extension_cb(void *arg) #endif if (IS_ABSOLUTE_PATH(filename, length)) { +#ifdef PHP_WIN32 + char *err; + if (!php_win32_image_compatible(filename, NULL, &err)) { + php_error(E_CORE_WARNING, err); + return FAILURE; + } +#endif zend_load_extension(filename); } else { DL_HANDLE handle; @@ -384,6 +391,16 @@ static void php_load_zend_extension_cb(void *arg) efree(err1); } +#ifdef PHP_WIN32 + if (!php_win32_image_compatible(libpath, NULL, &err1)) { + php_error(E_CORE_WARNING, err1); + efree(err1); + efree(libpath); + DL_UNLOAD(handle); + return FAILURE; + } +#endif + zend_load_extension_handle(handle, libpath); efree(libpath); } |