diff --git a/src/hlua.c b/src/hlua.c index 17a67503d..28ddf44bb 100644 --- a/src/hlua.c +++ b/src/hlua.c @@ -5300,6 +5300,7 @@ static struct task *hlua_process_task(struct task *task) /* finished or yield */ case HLUA_E_OK: hlua_ctx_destroy(hlua); + free(hlua); task_delete(task); task_free(task); break; @@ -5313,6 +5314,7 @@ static struct task *hlua_process_task(struct task *task) case HLUA_E_ERRMSG: SEND_ERR(NULL, "Lua task: %s.\n", lua_tostring(hlua->T, -1)); hlua_ctx_destroy(hlua); + free(hlua); task_delete(task); task_free(task); break; @@ -5321,6 +5323,7 @@ static struct task *hlua_process_task(struct task *task) default: SEND_ERR(NULL, "Lua task: unknown error.\n"); hlua_ctx_destroy(hlua); + free(hlua); task_delete(task); task_free(task); break;