commit 720e006982951ab6dba15f1138fa0903284f03ee
Author: Niels Dossche <7771979+ndossche@users.noreply.github.com>
Date: Tue Nov 4 08:32:22 2025 +0100
random: Fix memory leak when serialization fails (#20383)
Co-authored-by: Tim Düsterhus <timwolla@googlemail.com>
diff --git a/ext/random/engine_mt19937.c b/ext/random/engine_mt19937.c
index e16c9f6722f..a1a0d02b9de 100644
--- a/ext/random/engine_mt19937.c
+++ b/ext/random/engine_mt19937.c
@@ -329,11 +329,11 @@ PHP_METHOD(Random_Engine_Mt19937, __serialize)
/* state */
array_init(&t);
+ zend_hash_next_index_insert(Z_ARRVAL_P(return_value), &t);
if (!engine->algo->serialize(engine->status, Z_ARRVAL(t))) {
zend_throw_exception(NULL, "Engine serialize failed", 0);
RETURN_THROWS();
}
- zend_hash_next_index_insert(Z_ARRVAL_P(return_value), &t);
}
/* }}} */