*fixed a memory leak in class definition.

This commit is contained in:
paladin-t 2015-12-25 10:52:27 +08:00
parent 11ad2afda6
commit a55e3e7d07
2 changed files with 6 additions and 2 deletions

View File

@ -1,3 +1,6 @@
Dec. 25 2015
Fixed a memory leak in class definition
Dec. 24 2015 Dec. 24 2015
Improved defining a class in C Improved defining a class in C
Added a pair of mb_get_class_userdata/mb_set_class_userdata functions Added a pair of mb_get_class_userdata/mb_set_class_userdata functions

View File

@ -10881,7 +10881,7 @@ int _core_class(mb_interpreter_t* s, void** l) {
s->last_error = SE_EA_EXTENDED_ABORT; s->last_error = SE_EA_EXTENDED_ABORT;
_handle_error_now(s, s->last_error, s->last_error_func, result); _handle_error_now(s, s->last_error, s->last_error_func, result);
goto _exit; goto _pop_exit;
} }
ast = (_ls_node_t*)(*l); ast = (_ls_node_t*)(*l);
if(!ast) break; if(!ast) break;
@ -10896,10 +10896,11 @@ int _core_class(mb_interpreter_t* s, void** l) {
ast = ast->next; ast = ast->next;
} }
_exit: _pop_exit:
if(result != MB_FUNC_OK) if(result != MB_FUNC_OK)
_pop_scope(s); _pop_scope(s);
_exit:
*l = ast; *l = ast;
return result; return result;