Bug #71273 [Asn]: A wrong ext directory setup in php.ini leads to crash

From: Date: Mon, 04 Jan 2016 13:45:24 +0000
Subject: Bug #71273 [Asn]: A wrong ext directory setup in php.ini leads to crash
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-198405@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=71273&edit=1 ID: 71273 User updated by: tlegall at easycom-aura dot com Reported by: tlegall at easycom-aura dot com Summary: A wrong ext directory setup in php.ini leads to crash Status: Assigned Type: Bug Package: Reproducible crash Operating System: Windows PHP Version: 7.0.1 Assigned To: ab Block user comment: N Private report: N New Comment: I am using apache 2.4.9 built with VC11. Another thing that might be relevant, is that my system is in French, therefore the message for missing module contains the é character. Here is the actual content of the buffer variable: Unable to load dynamic library 'c/wamp/bin/php/php7.0.1/ext\php_Easycom7_0_0.dll' - Le module spécifié est introuvable. I'll try with a VC14 apache Previous Comments: ------------------------------------------------------------------------ [2016-01-04 13:35:55] ab@php.net @tlegall i'm not repro it as well with just setting extension_dir=c/... Could you maybe post your full php.ini, maybe there's something else is involved? Another question - which Apache builds do you use? Are they done VC14? Thanks. ------------------------------------------------------------------------ [2016-01-04 11:45:49] laruence@php.net can not reproduce on Linux, @welting could you please have a look into this? ------------------------------------------------------------------------ [2016-01-04 09:53:20] tlegall at easycom-aura dot com Description: ------------ A wrongly configured extension_dir in the php.ini leads to a crash of apache, without any error message. I am using the latest 7.0.1 version from http://windows.php.net/, thread safe x86. Test script: --------------- Here is the line of the php.ini causing problems (missing : after the drive name) ; Directory in which the loadable extensions (modules) reside. ; http://php.net/extension-dir ; extension_dir = "./" ; On windows: extension_dir = "c/wamp/bin/php/php7.0.1/ext" Expected result: ---------------- Should log a warning indicating that the extensions cannot be found Actual result: -------------- Crash at the line 728 of main/main.c The problem seems to come from the following code snippet, lines 724 - 729: if (PG(html_errors)) { replace_buffer = php_escape_html_entities((unsigned char*)buffer, buffer_len, 0, ENT_COMPAT, NULL); efree(buffer); buffer = ZSTR_VAL(replace_buffer); buffer_len = (int)ZSTR_LEN(replace_buffer); } replace_buffer is null, which leads to the crash of the ZSTR_LEN function. Backtrace: > php7ts.dll!php_verror(const char * docref, const char * params, int type, const char * format, char * args) Ligne 728 C php7ts.dll!php_error_docref0(const char * docref, int type, const char * format, ...) Ligne 896 C php7ts.dll!php_load_extension(char * filename, int type, int start_now) Ligne 137 C php7ts.dll!php_load_php_extension_cb(void * arg) Ligne 344 C php7ts.dll!php_ini_register_extensions() Ligne 739 C php7apache2_4.dll!php_apache_server_startup(apr_pool_t * pconf, apr_pool_t * plog, apr_pool_t * ptemp, server_rec * s) Ligne 465 C ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=71273&edit=1

« previous php.bugs (#198405) next »