mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
Merge pull request #3203 from nozomiS/mrbc_filename-fix
Fix mrbc_filename leak
This commit is contained in:
@@ -5540,6 +5540,7 @@ mrbc_context_new(mrb_state *mrb)
|
||||
MRB_API void
|
||||
mrbc_context_free(mrb_state *mrb, mrbc_context *cxt)
|
||||
{
|
||||
mrb_free(mrb, cxt->filename);
|
||||
mrb_free(mrb, cxt->syms);
|
||||
mrb_free(mrb, cxt);
|
||||
}
|
||||
@@ -5549,9 +5550,12 @@ mrbc_filename(mrb_state *mrb, mrbc_context *c, const char *s)
|
||||
{
|
||||
if (s) {
|
||||
int len = strlen(s);
|
||||
char *p = (char *)mrb_alloca(mrb, len + 1);
|
||||
char *p = (char *)mrb_malloc(mrb, len + 1);
|
||||
|
||||
memcpy(p, s, len + 1);
|
||||
if (c->filename) {
|
||||
mrb_free(mrb, c->filename);
|
||||
}
|
||||
c->filename = p;
|
||||
}
|
||||
return c->filename;
|
||||
|
||||
Reference in New Issue
Block a user