mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
Fix memory leak sval when out of memory in Data_Wrap_Struct()
This commit is contained in:
@@ -39,10 +39,11 @@ MRB_API struct RData *mrb_data_object_alloc(mrb_state *mrb, struct RClass* klass
|
||||
#define Data_Wrap_Struct(mrb,klass,type,ptr)\
|
||||
mrb_data_object_alloc(mrb,klass,ptr,type)
|
||||
|
||||
#define Data_Make_Struct(mrb,klass,strct,type,sval,data) do { \
|
||||
#define Data_Make_Struct(mrb,klass,strct,type,sval,data_obj) do { \
|
||||
(data_obj) = Data_Wrap_Struct(mrb,klass,type,NULL);\
|
||||
(sval) = mrb_malloc(mrb, sizeof(strct)); \
|
||||
{ static const strct zero = { 0 }; *(sval) = zero; };\
|
||||
(data) = Data_Wrap_Struct(mrb,klass,type,sval);\
|
||||
(data_obj)->data = (sval);\
|
||||
} while (0)
|
||||
|
||||
#define RDATA(obj) ((struct RData *)(mrb_ptr(obj)))
|
||||
|
||||
Reference in New Issue
Block a user