summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
Diffstat (limited to 'ext')
-rw-r--r--ext/wddx/wddx.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/ext/wddx/wddx.c b/ext/wddx/wddx.c
index cfb76f005a..097c691de1 100644
--- a/ext/wddx/wddx.c
+++ b/ext/wddx/wddx.c
@@ -1007,6 +1007,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")) {