From 1763ed26559eda64663f1224a07b46001084d985 Mon Sep 17 00:00:00 2001 From: Donald Lee Date: Fri, 23 Jul 2021 23:25:20 +0800 Subject: [PATCH] lib: Cap script_name length Signed-off-by: Donald Lee --- lib/frrscript.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/lib/frrscript.c b/lib/frrscript.c index b385ad7eaa..3f2544f4a0 100644 --- a/lib/frrscript.c +++ b/lib/frrscript.c @@ -262,10 +262,15 @@ int frrscript_load(struct frrscript *fs, const char *function_name, frrlua_export_logging(L); - char script_name[MAXPATHLEN * 2]; + char script_name[MAXPATHLEN]; - snprintf(script_name, sizeof(script_name), "%s/%s.lua", scriptdir, - fs->name); + if (snprintf(script_name, sizeof(script_name), "%s/%s.lua", scriptdir, + fs->name) + < 0) { + zlog_err("frrscript: path to script %s/%s.lua is too long", + scriptdir, fs->name); + goto fail; + } int ret = luaL_dofile(L, script_name); switch (ret) { -- 2.39.5