From 9e15c7689eb788352d5c3c007e5917996cc16db6 Mon Sep 17 00:00:00 2001 From: Sjoerd Langkemper Date: Mon, 26 Oct 2026 14:39:45 +0000 Subject: [PATCH 1/2] ext/standard: remove unnecessary var_hash check var_hash is never null. It is dereferenced elsewhere in the function, so this function would already crash if it were null. Remove null check and add assertion. --- ext/standard/var.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ext/standard/var.c b/ext/standard/var.c index 689594ef240a..032073e86abe 100644 --- a/ext/standard/var.c +++ b/ext/standard/var.c @@ -1124,6 +1124,8 @@ static void php_var_serialize_intern(smart_str *buf, zval *struc, php_serialize_ zend_long var_already; HashTable *myht; + ZEND_ASSERT(var_hash != NULL); + if (EG(exception)) { return; } @@ -1132,7 +1134,7 @@ static void php_var_serialize_intern(smart_str *buf, zval *struc, php_serialize_ return; } - if (var_hash && (var_already = php_add_var_hash(var_hash, struc, in_rcn_array))) { + if (var_already = php_add_var_hash(var_hash, struc, in_rcn_array)) { if (var_already == -1) { /* Reference to an object that failed to serialize, replace with null. */ smart_str_appendl(buf, "N;", 2); From fed210fec84b15811253ce6951f86960963545ca Mon Sep 17 00:00:00 2001 From: Sjoerd Langkemper Date: Mon, 26 Oct 2026 18:18:18 +0000 Subject: [PATCH 2/2] Supress compiler warning --- ext/standard/var.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ext/standard/var.c b/ext/standard/var.c index 032073e86abe..40ce296ab081 100644 --- a/ext/standard/var.c +++ b/ext/standard/var.c @@ -1134,7 +1134,7 @@ static void php_var_serialize_intern(smart_str *buf, zval *struc, php_serialize_ return; } - if (var_already = php_add_var_hash(var_hash, struc, in_rcn_array)) { + if ((var_already = php_add_var_hash(var_hash, struc, in_rcn_array))) { if (var_already == -1) { /* Reference to an object that failed to serialize, replace with null. */ smart_str_appendl(buf, "N;", 2);