File php-CVE-2016-7413.patch of Package php7

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);
 			}
openSUSE Build Service is sponsored by