imgact_elf: Ensure that the return value in parse_notes is initialized

parse_notes relies on the caller-supplied callback to initialize "res".
Two callbacks are used in practice, brandnote_cb and note_fctl_cb, and
the latter fails to initialize res.  Fix it.

In the worst case, the bug would cause the inner loop of check_note to
examine more program headers than necessary, and the note header usually
comes last anyway.

Reviewed by:	kib
Reported by:	KMSAN
MFC after:	1 week
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D29986
This commit is contained in:
Mark Johnston 2021-04-26 14:53:16 -04:00
parent 099919b76d
commit 409ab7e109

View File

@ -2736,6 +2736,7 @@ note_fctl_cb(const Elf_Note *note, void *arg0, boolean_t *res)
desc = (const Elf32_Word *)p;
*arg->has_fctl0 = TRUE;
*arg->fctl0 = desc[0];
*res = TRUE;
return (TRUE);
}