diff options
Diffstat (limited to 'ext/wddx/wddx.c')
-rw-r--r-- | ext/wddx/wddx.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/ext/wddx/wddx.c b/ext/wddx/wddx.c index da3424695b..311d6aa4a5 100644 --- a/ext/wddx/wddx.c +++ b/ext/wddx/wddx.c @@ -1096,6 +1096,9 @@ static void php_wddx_process_data(void *user_data, const XML_Char *s, int len) break; case ST_BOOLEAN: + if(!ent->data) { + break; + } if (!strcmp(s, "true")) { Z_LVAL_P(ent->data) = 1; } else if (!strcmp(s, "false")) { @@ -1104,6 +1107,7 @@ static void php_wddx_process_data(void *user_data, const XML_Char *s, int len) zval_ptr_dtor(&ent->data); if (ent->varname) { efree(ent->varname); + ent->varname = NULL; } ent->data = NULL; } |