From 3f3d51ebc88bea669fbc3712da80f148cc12f6c5 Mon Sep 17 00:00:00 2001 From: Joseph Richard Date: Fri, 31 Mar 2017 09:52:02 -0400 Subject: [PATCH] cfgfile: fix parsing of long fields When parsing a ini file with a "key = value" line that has both "key" and "value" sized to the maximum allowed length causes a parsing failure. The internal "buffer" variable should be sized at least as large as the maximum for both fields. This commit updates the local array to be sized to hold the max name, max value, " = ", and the nul terminator. Signed-off-by: Allain Legacy Acked-by: Keith Wiles Acked-by: Cristian Dumitrescu --- lib/librte_cfgfile/rte_cfgfile.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/librte_cfgfile/rte_cfgfile.c b/lib/librte_cfgfile/rte_cfgfile.c index e4a3885b70..4ef7decb36 100644 --- a/lib/librte_cfgfile/rte_cfgfile.c +++ b/lib/librte_cfgfile/rte_cfgfile.c @@ -148,7 +148,7 @@ rte_cfgfile_load_with_params(const char *filename, int flags, int allocated_entries = 0; int curr_section = -1; int curr_entry = -1; - char buffer[256] = {0}; + char buffer[CFG_NAME_LEN + CFG_VALUE_LEN + 4] = {0}; int lineno = 0; struct rte_cfgfile *cfg = NULL; -- 2.20.1