mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2026-05-07 14:06:10 +02:00
BUG/MINOR: cfgcond: properly set the error pointer on evaluation error
cfg_eval_condition() says that the <errptr> pointer will be set upon error. However, cfg_eval_cond_expr() can fail (e.g. failure to handle a dynamic argument) but would branch to "done" and leave errptr unset. Let's check for this case as well. This bug was reported by OSS Fuzz here: https://issues.oss-fuzz.com/issues/499135825 The bug was introduced in 2.5 around commit ca81887599 ("MINOR: cfgcond: insert an expression between the condition and the term") so the fix must be backported as far as 2.6.
This commit is contained in:
parent
6df3662077
commit
3608374d6d
@ -564,6 +564,8 @@ int cfg_eval_condition(char **args, char **err, const char **errptr)
|
||||
}
|
||||
|
||||
ret = cfg_eval_cond_expr(expr, err);
|
||||
if (ret < 0)
|
||||
goto fail;
|
||||
goto done;
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user