summaryrefslogtreecommitdiffhomepage
path: root/mrbgems/mruby-random/src
diff options
context:
space:
mode:
authorTatsuya Matsumoto <[email protected]>2014-03-02 22:18:02 +0900
committerTatsuya Matsumoto <[email protected]>2014-03-02 22:18:02 +0900
commitd496ba7e25e4bf16f1be3185364feba3bcc39300 (patch)
tree7ae60836f5593124c21444ed1f422d0b452a789b /mrbgems/mruby-random/src
parent873fae9f4505a5f2b5146f969917e8b083269f36 (diff)
downloadmruby-d496ba7e25e4bf16f1be3185364feba3bcc39300.tar.gz
mruby-d496ba7e25e4bf16f1be3185364feba3bcc39300.zip
fix a memory leak in mruby-random.
Diffstat (limited to 'mrbgems/mruby-random/src')
-rw-r--r--mrbgems/mruby-random/src/random.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/mrbgems/mruby-random/src/random.c b/mrbgems/mruby-random/src/random.c
index a708923d3..9fb5bbfd8 100644
--- a/mrbgems/mruby-random/src/random.c
+++ b/mrbgems/mruby-random/src/random.c
@@ -115,15 +115,15 @@ mrb_random_init(mrb_state *mrb, mrb_value self)
mrb_value seed;
mt_state *t;
- DATA_TYPE(self) = &mt_state_type;
- DATA_PTR(self) = NULL;
-
/* avoid memory leaks */
t = (mt_state*)DATA_PTR(self);
if (t) {
mrb_free(mrb, t);
}
+ DATA_TYPE(self) = &mt_state_type;
+ DATA_PTR(self) = NULL;
+
t = (mt_state *)mrb_malloc(mrb, sizeof(mt_state));
t->mti = N + 1;