From 99d6e09c3d6679bb522836c833d0cfd4f79c6014 Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Fri, 8 Jul 2016 10:46:33 +0200 Subject: [PATCH] Fixed Bug #72564 boolean always deserialized as "true" --- ext/wddx/wddx.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ext/wddx/wddx.c b/ext/wddx/wddx.c index 2cc3c8b..cb0c01e 100644 --- a/ext/wddx/wddx.c +++ b/ext/wddx/wddx.c @@ -1013,9 +1013,9 @@ static void php_wddx_process_data(void *user_data, const XML_Char *s, int len) case ST_BOOLEAN: if (!strcmp((char *)s, "true")) { - Z_LVAL(ent->data) = 1; + ZVAL_TRUE(&ent->data); } else if (!strcmp((char *)s, "false")) { - Z_LVAL(ent->data) = 0; + ZVAL_FALSE(&ent->data); } else { zval_ptr_dtor(&ent->data); if (ent->varname) { -- 2.1.4 From bfc42211d3cc5aa6cd2bdb10ef5004ce22099acb Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Fri, 8 Jul 2016 10:45:13 +0200 Subject: [PATCH] add test for bug #72564 (7.x regression) --- ext/wddx/tests/bug72564.phpt | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 ext/wddx/tests/bug72564.phpt diff --git a/ext/wddx/tests/bug72564.phpt b/ext/wddx/tests/bug72564.phpt new file mode 100644 index 0000000..4711ef8 --- /dev/null +++ b/ext/wddx/tests/bug72564.phpt @@ -0,0 +1,20 @@ +--TEST-- +Bug #72564: wddx deserialization of boolean +--SKIPIF-- + +--FILE-- + +Done +--EXPECT-- +string(84) "
" +bool(true) +string(85) "
" +bool(false) +string(68) "
" +NULL +Done -- 2.1.4