diff --git a/src/public/modules.c b/src/public/modules.c index 06bac088..39e14ff3 100644 --- a/src/public/modules.c +++ b/src/public/modules.c @@ -165,7 +165,7 @@ bool py_importlib_reload(py_GlobalRef module) { c11_sv path = py_tosv(py_getdict(module, __path__)); c11_string* slashed_path = c11_sv__replace(path, '.', PK_PLATFORM_SEP); c11_string* filename = c11_string__new3("%s.py", slashed_path->data); - const char* data = vm->callbacks.importfile(filename->data); + char* data = vm->callbacks.importfile(filename->data); if(data == NULL) { c11_string__delete(filename); filename = c11_string__new3("%s%c__init__.py", slashed_path->data, PK_PLATFORM_SEP); @@ -175,6 +175,7 @@ bool py_importlib_reload(py_GlobalRef module) { if(data == NULL) return ImportError("module '%v' not found", path); bool ok = py_exec(data, filename->data, EXEC_MODE, module); c11_string__delete(filename); + PK_FREE(data); py_assign(py_retval(), module); return ok; }