devmatch: Catch truncated linker hints files

PR:		282268
Reviewed by:	christos, imp
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D47243
This commit is contained in:
Mark Johnston 2024-10-23 16:55:16 +00:00
parent b5149b2653
commit 9b2f2fbfcb

View File

@ -127,6 +127,12 @@ read_linker_hints(void)
err(1, "Can't open %s for reading", fn); err(1, "Can't open %s for reading", fn);
} }
if (len < sizeof(int)) {
warnx("Linker hints file too short.");
free(hints);
hints = NULL;
return;
}
if (*(int *)(intptr_t)hints != LINKER_HINTS_VERSION) { if (*(int *)(intptr_t)hints != LINKER_HINTS_VERSION) {
warnx("Linker hints version %d doesn't match expected %d.", warnx("Linker hints version %d doesn't match expected %d.",
*(int *)(intptr_t)hints, LINKER_HINTS_VERSION); *(int *)(intptr_t)hints, LINKER_HINTS_VERSION);