summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2017-02-03 09:29:46 +0900
committerGitHub <[email protected]>2017-02-03 09:29:46 +0900
commite0323dff8cd0033d0798312acd3799496c6121e2 (patch)
tree757c30997e96faa2fafdfff42e80c31739447dca
parent6420951463ec9ace9eecb50923dc6a1925a45d31 (diff)
parenta8ccda5692de601d014a942ee1ea2129388ce84c (diff)
downloadmruby-e0323dff8cd0033d0798312acd3799496c6121e2.tar.gz
mruby-e0323dff8cd0033d0798312acd3799496c6121e2.zip
Merge pull request #3427 from clayton-shopify/fix-mrb-random-init
Fetch arguments earlier in mrb_random_init to avoid a crash.
-rw-r--r--mrbgems/mruby-random/src/random.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/mrbgems/mruby-random/src/random.c b/mrbgems/mruby-random/src/random.c
index 587e6c01a..f81d38fe6 100644
--- a/mrbgems/mruby-random/src/random.c
+++ b/mrbgems/mruby-random/src/random.c
@@ -124,6 +124,8 @@ mrb_random_init(mrb_state *mrb, mrb_value self)
mrb_value seed;
mt_state *t;
+ seed = get_opt(mrb);
+
/* avoid memory leaks */
t = (mt_state*)DATA_PTR(self);
if (t) {
@@ -134,7 +136,6 @@ mrb_random_init(mrb_state *mrb, mrb_value self)
t = (mt_state *)mrb_malloc(mrb, sizeof(mt_state));
t->mti = N + 1;
- seed = get_opt(mrb);
seed = mrb_random_mt_srand(mrb, t, seed);
if (mrb_nil_p(seed)) {
t->has_seed = FALSE;