mirror of
https://github.com/php/php-src.git
synced 2026-04-23 16:08:35 +02:00
Improve fix for #74145
This commit is contained in:
+10
-5
@@ -799,18 +799,23 @@ static void php_wddx_push_element(void *user_data, const XML_Char *name, const X
|
||||
} else if (!strcmp(name, EL_BOOLEAN)) {
|
||||
int i;
|
||||
|
||||
ALLOC_ZVAL(ent.data);
|
||||
INIT_PZVAL(ent.data);
|
||||
Z_TYPE_P(ent.data) = IS_BOOL;
|
||||
ent.type = ST_BOOLEAN;
|
||||
SET_STACK_VARNAME;
|
||||
if (atts) for (i = 0; atts[i]; i++) {
|
||||
if (!strcmp(atts[i], EL_VALUE) && atts[i+1] && atts[i+1][0]) {
|
||||
ALLOC_ZVAL(ent.data);
|
||||
INIT_PZVAL(ent.data);
|
||||
Z_TYPE_P(ent.data) = IS_BOOL;
|
||||
ent.type = ST_BOOLEAN;
|
||||
SET_STACK_VARNAME;
|
||||
wddx_stack_push((wddx_stack *)stack, &ent, sizeof(st_entry));
|
||||
php_wddx_process_data(user_data, atts[i+1], strlen(atts[i+1]));
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
ALLOC_ZVAL(ent.data);
|
||||
INIT_PZVAL(ent.data);
|
||||
Z_TYPE_P(ent.data) = IS_BOOL;
|
||||
ent.type = ST_BOOLEAN;
|
||||
SET_STACK_VARNAME;
|
||||
ZVAL_FALSE(ent.data);
|
||||
wddx_stack_push((wddx_stack *)stack, &ent, sizeof(st_entry));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user