File php-CVE-2016-7413.patch of Package php7.5285
X-Git-Url: http://72.52.91.13:8000/?p=php-src.git;a=blobdiff_plain;f=ext%2Fwddx%2Fwddx.c;h=ecbe153814c8cef90569f45a75db4ab5accbc863;hp=3a6835fbb6c37068185e25b934516734bc57630a;hb=060ab26cfe2f25bc59eb2de593e11cea84ef70b0;hpb=92db16e456ed346d0526c840750213317ac0f067
diff --git a/ext/wddx/wddx.c b/ext/wddx/wddx.c
index 3a6835f..ecbe153 100644
--- a/ext/wddx/wddx.c
+++ b/ext/wddx/wddx.c
@@ -230,7 +230,10 @@ static int wddx_stack_destroy(wddx_stack *stack)
if (stack->elements) {
for (i = 0; i < stack->top; i++) {
- zval_ptr_dtor(&((st_entry *)stack->elements[i])->data);
+ if (Z_TYPE(((st_entry *)stack->elements[i])->data) != IS_UNDEF
+ && ((st_entry *)stack->elements[i])->type != ST_FIELD) {
+ zval_ptr_dtor(&((st_entry *)stack->elements[i])->data);
+ }
if (((st_entry *)stack->elements[i])->varname) {
efree(((st_entry *)stack->elements[i])->varname);
}