Skip to content

Commit ecc7581

Browse files
authored
Merge pull request syslog-ng#5032 from HofiOne/libcfg-argcc----NULL-dereference-5026
cfg: fixed a possible not checked NULL argument during config block parsing
2 parents 1d7506b + 4bd2dd4 commit ecc7581

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

lib/cfg-block.c

+6-3
Original file line numberDiff line numberDiff line change
@@ -67,11 +67,13 @@ static void
6767
_validate_args_callback(gpointer k, gpointer v, gpointer user_data)
6868
{
6969
CfgArgs *defs = ((gpointer *) user_data)[0];
70-
const gchar *reference = ((gpointer *) user_data)[1];
71-
gboolean *problem_found = ((gpointer *) user_data)[2];
7270

73-
if ((!defs || !cfg_args_contains(defs, k)))
71+
if (defs == NULL)
72+
return;
73+
74+
if (FALSE == cfg_args_contains(defs, k))
7475
{
76+
const gchar *reference = ((gpointer *) user_data)[1];
7577
if (cfg_args_is_accepting_varargs(defs))
7678
{
7779
msg_verbose("Unknown argument, adding it to __VARARGS__",
@@ -85,6 +87,7 @@ _validate_args_callback(gpointer k, gpointer v, gpointer user_data)
8587
evt_tag_str("argument", k),
8688
evt_tag_str("value", v),
8789
evt_tag_str("reference", reference));
90+
gboolean *problem_found = ((gpointer *) user_data)[2];
8891
*problem_found = TRUE;
8992
}
9093
}

0 commit comments

Comments
 (0)