From 419cf1f1c4721829c4d68c9e5fee112a5da5890f Mon Sep 17 00:00:00 2001 From: Serge Hallyn Date: Fri, 19 May 2023 14:49:04 -0500 Subject: [PATCH] def_load: avoid NULL deref If econf_getStringValue() fails, it will return an error and set value to NULL. Look for the error and avoid dereferencing value in that case. Signed-off-by: Serge Hallyn --- lib/getdef.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/getdef.c b/lib/getdef.c index 39cd62d5..8075821b 100644 --- a/lib/getdef.c +++ b/lib/getdef.c @@ -505,7 +505,12 @@ static void def_load (void) for (size_t i = 0; i < key_number; i++) { char *value; - econf_getStringValue(defs_file, NULL, keys[i], &value); + error = econf_getStringValue(defs_file, NULL, keys[i], &value); + if (error) { + SYSLOG ((LOG_CRIT, "failed reading key %zu from econf [%s]", + i, econf_errString(error))); + exit (EXIT_FAILURE); + } /* * Store the value in def_table.