mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2025-02-13 09:01:24 +00:00
BUG/MEDIUM: cfgparse: segfault when userlist is misused
If the 'userlist' keyword parsing returns an error and no userlist were previously created. The parsing of 'user' and 'group' leads to NULL derefence. The userlist pointer is now tested to prevent this issue.
This commit is contained in:
parent
77063bc0c6
commit
4ac9f54612
@ -6144,6 +6144,9 @@ cfg_parse_users(const char *file, int linenum, char **args, int kwm)
|
||||
goto out;
|
||||
}
|
||||
|
||||
if (!userlist)
|
||||
goto out;
|
||||
|
||||
for (ag = userlist->groups; ag; ag = ag->next)
|
||||
if (!strcmp(ag->name, args[1])) {
|
||||
Warning("parsing [%s:%d]: ignoring duplicated group '%s' in userlist '%s'.\n",
|
||||
@ -6194,6 +6197,8 @@ cfg_parse_users(const char *file, int linenum, char **args, int kwm)
|
||||
err_code |= ERR_ALERT | ERR_FATAL;
|
||||
goto out;
|
||||
}
|
||||
if (!userlist)
|
||||
goto out;
|
||||
|
||||
for (newuser = userlist->users; newuser; newuser = newuser->next)
|
||||
if (!strcmp(newuser->user, args[1])) {
|
||||
|
Loading…
Reference in New Issue
Block a user