From 9e78353c0f840bf4aa7cceb4d1676f4d090d0096 Mon Sep 17 00:00:00 2001 From: Peter Zhu Date: Sun, 28 Dec 2025 15:43:36 -0500 Subject: [PATCH] Fix maybe uninitialized warnings in random.c Fixes the following compiler warnings: random.c: In function `random_init`: random.c:416:38: warning: `rng` may be used uninitialized in this function [-Wmaybe-uninitialized] 416 | unsigned int major = rng->version.major; | ~~~~~~~~~~~~^~~~~~ random.c: In function `random_bytes`: random.c:1284:8: warning: `rng` may be used uninitialized in this function [-Wmaybe-uninitialized] 1284 | rng->get_bytes(rnd, ptr, n); | ~~~^~~~~~~~~~~ random.c:1299:34: note: `rng` was declared here 1299 | const rb_random_interface_t *rng; | ^~~ random.c: In function `rand_random_number`: random.c:1606:12: warning: `rng` may be used uninitialized in this function [-Wmaybe-uninitialized] 1606 | return rand_range(obj, rng, rnd, vmax); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ random.c:1624:34: note: `rng` was declared here 1624 | const rb_random_interface_t *rng; | ^~~ random.c: In function `random_rand`: random.c:1120:15: warning: `rng` may be used uninitialized in this function [-Wmaybe-uninitialized] 1120 | return rng->get_int32(rnd); | ~~~^~~~~~~~~~~ random.c:1573:34: note: `rng` was declared here 1573 | const rb_random_interface_t *rng; | ^~~ --- random.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/random.c b/random.c index d902603e98..ad7cbca426 100644 --- a/random.c +++ b/random.c @@ -405,7 +405,7 @@ rand_init(const rb_random_interface_t *rng, rb_random_t *rnd, VALUE seed) static VALUE random_init(int argc, VALUE *argv, VALUE obj) { - const rb_random_interface_t *rng; + const rb_random_interface_t *rng = NULL; rb_random_t *rnd = try_get_rnd(obj, &rng); if (!rng) { @@ -1296,7 +1296,7 @@ rand_bytes(const rb_random_interface_t *rng, rb_random_t *rnd, long n) static VALUE random_bytes(VALUE obj, VALUE len) { - const rb_random_interface_t *rng; + const rb_random_interface_t *rng = NULL; rb_random_t *rnd = try_get_rnd(obj, &rng); return rand_bytes(rng, rnd, NUM2LONG(rb_to_int(len))); } @@ -1570,7 +1570,7 @@ static VALUE rand_random(int argc, VALUE *argv, VALUE obj, const rb_random_inter static VALUE random_rand(int argc, VALUE *argv, VALUE obj) { - const rb_random_interface_t *rng; + const rb_random_interface_t *rng = NULL; rb_random_t *rnd = try_get_rnd(obj, &rng); VALUE v = rand_random(argc, argv, obj, rng, rnd); check_random_number(v, argv); @@ -1621,7 +1621,7 @@ rand_random(int argc, VALUE *argv, VALUE obj, const rb_random_interface_t *rng, static VALUE rand_random_number(int argc, VALUE *argv, VALUE obj) { - const rb_random_interface_t *rng; + const rb_random_interface_t *rng = NULL; rb_random_t *rnd = try_get_rnd(obj, &rng); VALUE v = rand_random(argc, argv, obj, rng, rnd); if (NIL_P(v)) v = rand_random(0, 0, obj, rng, rnd);