aboutsummaryrefslogtreecommitdiffstats
path: root/ext/json/generator/generator.c
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-05-28 07:17:55 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-05-28 07:17:55 +0000
commit2bb2310fe51e9ef9c09029a24e3f62f23e0db36a (patch)
treeb30523e0cfc87534bbb6cd19e218e14fbf4e3611 /ext/json/generator/generator.c
parent60b0c53ea28606e2d0e2c7ab22978792a4f52189 (diff)
downloadruby-2bb2310fe51e9ef9c09029a24e3f62f23e0db36a.tar.gz
generator.c: allocate structs with wrapper
* ext/json/generator/generator.c (cState_s_allocate): allocate structs with making new wrapper objects and get rid of potential memory leak. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50661 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/json/generator/generator.c')
-rw-r--r--ext/json/generator/generator.c11
1 files changed, 3 insertions, 8 deletions
diff --git a/ext/json/generator/generator.c b/ext/json/generator/generator.c
index baf5360bb1..a135e28348 100644
--- a/ext/json/generator/generator.c
+++ b/ext/json/generator/generator.c
@@ -526,16 +526,11 @@ static const rb_data_type_t JSON_Generator_State_type = {
};
#endif
-static JSON_Generator_State *State_allocate(void)
-{
- JSON_Generator_State *state = ZALLOC(JSON_Generator_State);
- return state;
-}
-
static VALUE cState_s_allocate(VALUE klass)
{
- JSON_Generator_State *state = State_allocate();
- return TypedData_Wrap_Struct(klass, &JSON_Generator_State_type, state);
+ JSON_Generator_State *state;
+ return TypedData_Make_Struct(klass, JSON_Generator_State,
+ &JSON_Generator_State_type, state);
}
/*