]> granicus.if.org Git - php/commitdiff
fix leak
authorAnatol Belski <ab@php.net>
Tue, 21 Jun 2016 11:26:12 +0000 (13:26 +0200)
committerAnatol Belski <ab@php.net>
Tue, 21 Jun 2016 11:26:12 +0000 (13:26 +0200)
ext/wddx/wddx.c

index 34b8eeb87f13f29fcccbd71b5be8660415138e15..5ad12669d5db82e733a3f5dcee711f908256be46 100644 (file)
@@ -1011,6 +1011,13 @@ static void php_wddx_process_data(void *user_data, const XML_Char *s, int len)
                                break;
 
                        case ST_BOOLEAN:
+                               if (IS_UNDEF == Z_TYPE(ent->data)) {
+                                       if (ent->varname) {
+                                               efree(ent->varname);
+                                               ent->varname = NULL;
+                                       }
+                                       break;
+                               }
                                if (!strcmp((char *)s, "true")) {
                                        Z_LVAL(ent->data) = 1;
                                } else if (!strcmp((char *)s, "false")) {