File tree Expand file tree Collapse file tree 2 files changed +22
-7
lines changed Expand file tree Collapse file tree 2 files changed +22
-7
lines changed Original file line number Diff line number Diff line change @@ -83,13 +83,15 @@ typedef int (*xmlwriter_read_int_t)(xmlTextWriterPtr writer);
83
83
static void xmlwriter_free_resource_ptr (xmlwriter_object * intern )
84
84
{
85
85
if (intern ) {
86
- if (intern -> ptr ) {
87
- xmlFreeTextWriter (intern -> ptr );
88
- intern -> ptr = NULL ;
89
- }
90
- if (intern -> output ) {
91
- xmlBufferFree (intern -> output );
92
- intern -> output = NULL ;
86
+ if (EG (active )) {
87
+ if (intern -> ptr ) {
88
+ xmlFreeTextWriter (intern -> ptr );
89
+ intern -> ptr = NULL ;
90
+ }
91
+ if (intern -> output ) {
92
+ xmlBufferFree (intern -> output );
93
+ intern -> output = NULL ;
94
+ }
93
95
}
94
96
efree (intern );
95
97
}
Original file line number Diff line number Diff line change
1
+ --TEST--
2
+ #79029 (Use After Free's in XMLReader / XMLWriter)
3
+ --SKIPIF--
4
+ <?php if (!extension_loaded ("xmlwriter " )) print "skip " ; ?>
5
+ --FILE--
6
+ <?php
7
+ $ x = array ( new XMLWriter () );
8
+ $ x [0 ]->openUri ("a " );
9
+ $ x [0 ]->startComment ();
10
+ ?>
11
+ okey
12
+ --EXPECT--
13
+ okey
You can’t perform that action at this time.
0 commit comments