From 37960644dff466052840b9f50a7687bd8d0d30a9 Mon Sep 17 00:00:00 2001 From: Nuno Lopes Date: Mon, 29 Jan 2007 19:36:53 +0000 Subject: fix access to already free'ed memory --- ext/soap/php_xml.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'ext/soap/php_xml.c') 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; -- cgit v1.2.1