From: Nuno Lopes Date: Mon, 29 Jan 2007 19:36:53 +0000 (+0000) Subject: fix access to already free'ed memory X-Git-Tag: RELEASE_1_0_0RC1~70 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=37960644dff466052840b9f50a7687bd8d0d30a9;p=php fix access to already free'ed memory --- 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;