fix possible NULL dereference in cfg_map_findclause()

`cfg_map_findclause()` did not check whether a clause existed before
dereferencing it, which could lead to a NULL dereference. Add the
missing check to prevent this.

In practice, this was not triggering any known bug, since
`cfg_map_findclause()` is only called in contexts where the clause is
known to exist.
This commit is contained in:
Colin Vidal 2026-05-19 15:04:11 +02:00
parent b0f7bb3495
commit d1c55d78c6

View file

@ -2948,10 +2948,14 @@ cfg_map_findclause(const cfg_type_t *map, const char *name) {
REQUIRE(name != NULL);
found = cfg_map_firstclause(map, &clauses, &idx);
while (name != NULL && strcasecmp(name, found->name)) {
while (found != NULL && name != NULL && strcasecmp(name, found->name)) {
found = cfg_map_nextclause(map, &clauses, &idx);
}
if (found == NULL) {
return found;
}
return ((cfg_clausedef_t *)clauses) + idx;
}