diff options
author | Xinchen Hui <laruence@gmail.com> | 2019-12-25 12:43:44 +0800 |
---|---|---|
committer | Xinchen Hui <laruence@gmail.com> | 2019-12-25 12:43:44 +0800 |
commit | b5e004379647bd1ebb75eb2eac8826fb6abdd3d8 (patch) | |
tree | 2ea9ab1e0d7458ea01b00e4cc32b795cc0380e5c /ext/xmlwriter/php_xmlwriter.c | |
parent | f09b958e90afc0458a30a2c775abc2525827e7ac (diff) | |
download | php-git-b5e004379647bd1ebb75eb2eac8826fb6abdd3d8.tar.gz |
Partial fix for bug #79029
Diffstat (limited to 'ext/xmlwriter/php_xmlwriter.c')
-rw-r--r-- | ext/xmlwriter/php_xmlwriter.c | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/ext/xmlwriter/php_xmlwriter.c b/ext/xmlwriter/php_xmlwriter.c index 2fa4e32854..a4f1df3917 100644 --- a/ext/xmlwriter/php_xmlwriter.c +++ b/ext/xmlwriter/php_xmlwriter.c @@ -83,13 +83,15 @@ typedef int (*xmlwriter_read_int_t)(xmlTextWriterPtr writer); static void xmlwriter_free_resource_ptr(xmlwriter_object *intern) { if (intern) { - if (intern->ptr) { - xmlFreeTextWriter(intern->ptr); - intern->ptr = NULL; - } - if (intern->output) { - xmlBufferFree(intern->output); - intern->output = NULL; + if (EG(active)) { + if (intern->ptr) { + xmlFreeTextWriter(intern->ptr); + intern->ptr = NULL; + } + if (intern->output) { + xmlBufferFree(intern->output); + intern->output = NULL; + } } efree(intern); } |