From c7262be0aeaf55b5c92b26db82c08f2fe6b95412 Mon Sep 17 00:00:00 2001 From: Bouke van der Bijl Date: Wed, 23 Nov 2016 11:21:14 -0500 Subject: Fix segfault in Array#sample --- mrbgems/mruby-random/src/random.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'mrbgems/mruby-random/src/random.c') diff --git a/mrbgems/mruby-random/src/random.c b/mrbgems/mruby-random/src/random.c index 3b8d0dd2f..587e6c01a 100644 --- a/mrbgems/mruby-random/src/random.c +++ b/mrbgems/mruby-random/src/random.c @@ -266,7 +266,7 @@ mrb_ary_sample(mrb_state *mrb, mrb_value ary) mrb_int n = 0; mrb_bool given; mt_state *random = NULL; - mrb_int len = RARRAY_LEN(ary); + mrb_int len; mrb_get_args(mrb, "|i?d", &n, &given, &random, &mt_state_type); if (random == NULL) { @@ -274,6 +274,7 @@ mrb_ary_sample(mrb_state *mrb, mrb_value ary) } mrb_random_rand_seed(mrb, random); mt_rand(random); + len = RARRAY_LEN(ary); if (!given) { /* pick one element */ switch (len) { case 0: -- cgit v1.2.3