From 24ff8520af692c538f3ff8b3339a307c21a7fa38 Mon Sep 17 00:00:00 2001 From: Donald Lee Date: Wed, 7 Jul 2021 21:53:10 +0800 Subject: [PATCH] lib: frrscript_call check name before decode Signed-off-by: Donald Lee --- lib/frrscript.h | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/frrscript.h b/lib/frrscript.h index 0d5568d342..1e35e2ee41 100644 --- a/lib/frrscript.h +++ b/lib/frrscript.h @@ -123,7 +123,12 @@ void frrscript_init(const char *scriptdir); #define DECODE_ARGS(name, value) \ do { \ lua_getfield(lfs->L, 1, name); \ - DECODE_ARGS_WITH_STATE(lfs->L, value); \ + if (lua_isnil(lfs->L, 2)) { \ + lua_pop(lfs->L, 1); \ + } else { \ + DECODE_ARGS_WITH_STATE(lfs->L, value); \ + } \ + assert(lua_gettop(lfs->L) == 1); \ } while (0) /* -- 2.39.5