*fixed a crash bug when skipping a struct.

This commit is contained in:
paladin-t 2016-01-28 11:17:25 +08:00
parent 20bed0698b
commit f5be6e7ab5
2 changed files with 5 additions and 2 deletions

View File

@ -1,3 +1,6 @@
Jan. 28 2016
Fixed a crash bug when skipping a struct
Jan. 27 2016
Removed the MB_ENABLE_GC macro
Refactored initial reference count

View File

@ -1627,7 +1627,7 @@ static int _close_coll_lib(mb_interpreter_t* s);
_ls_node_t* ast = 0; static int i = 0; ++i; \
printf("Unaccessable function called %d times.\n", i); \
ast = (_ls_node_t*)(*(__l)); \
_handle_error_on_obj((__s), SE_RN_WRONG_FUNCTION_REACHED, 0, DON(ast), MB_FUNC_ERR, __exit, __result); \
_handle_error_on_obj((__s), SE_RN_WRONG_FUNCTION_REACHED, (__s)->source_file, DON(ast), MB_FUNC_ERR, __exit, __result); \
} while(0)
# endif /* _MSC_VER < 1300 */
#endif /* _MSC_VER */
@ -9030,7 +9030,7 @@ int _skip_struct(mb_interpreter_t* s, _ls_node_t** l, mb_func_t open_func, mb_fu
count = 1;
do {
if(!ast->next) {
if(!ast || !ast->next) {
_handle_error_on_obj(s, SE_RN_STRUCTURE_NOT_COMPLETED, s->source_file, DON(ast), MB_FUNC_ERR, _exit, result);
}
obj_prev = (_object_t*)ast->data;