From 017bfdf240fff4c63aac5d693f04304bf1367fc6 Mon Sep 17 00:00:00 2001 From: Niels Dossche <7771979+nielsdos@users.noreply.github.com> Date: Sat, 25 Mar 2023 23:58:43 +0100 Subject: [PATCH] Use php_random_bytes_silent() where possible in gmp_init_random() See GH-10942. --- ext/gmp/gmp.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/ext/gmp/gmp.c b/ext/gmp/gmp.c index 96536ff3bde39..ff2b37ae09f0b 100644 --- a/ext/gmp/gmp.c +++ b/ext/gmp/gmp.c @@ -1729,7 +1729,11 @@ static void gmp_init_random(void) /* Initialize */ gmp_randinit_mt(GMPG(rand_state)); /* Seed */ - gmp_randseed_ui(GMPG(rand_state), GENERATE_SEED()); + zend_long seed = 0; + if (php_random_bytes_silent(&seed, sizeof(zend_long)) == FAILURE) { + seed = GENERATE_SEED(); + } + gmp_randseed_ui(GMPG(rand_state), seed); GMPG(rand_initialized) = 1; }