diff options
| -rw-r--r-- | ext/soap/php_xml.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/ext/soap/php_xml.c b/ext/soap/php_xml.c index c5dbd640de..4e15fd64e8 100644 --- a/ext/soap/php_xml.c +++ b/ext/soap/php_xml.c @@ -87,12 +87,17 @@ xmlDocPtr soap_xmlParseFile(const char *filename TSRMLS_DC) */ old_allow_url_fopen_list = PG(allow_url_fopen_list); - if (!old_allow_url_fopen_list) { - old_allow_url_fopen_list = ""; + if (old_allow_url_fopen_list) { + old_allow_url_fopen_list = estrdup(old_allow_url_fopen_list); + } else { + old_allow_url_fopen_list = STR_EMPTY_ALLOC(); } + zend_alter_ini_entry("allow_url_fopen", sizeof("allow_url_fopen"), "*", 1, PHP_INI_SYSTEM, PHP_INI_STAGE_RUNTIME); ctxt = xmlCreateFileParserCtxt(filename); zend_alter_ini_entry("allow_url_fopen", sizeof("allow_url_fopen"), old_allow_url_fopen_list, strlen(old_allow_url_fopen_list), PHP_INI_SYSTEM, PHP_INI_STAGE_RUNTIME); + efree(old_allow_url_fopen_list); + if (ctxt) { ctxt->keepBlanks = 0; ctxt->sax->ignorableWhitespace = soap_ignorableWhitespace; |
