DF-0062 / fix.diff
diff --git a/sys/kern/link_elf.c b/sys/kern/link_elf.c --- a/sys/kern/link_elf.c +++ b/sys/kern/link_elf.c @@ -626,6 +626,9 @@ ef->ddbsymtab = (const Elf_Sym *)ef->symbase; ef->ddbstrcnt = strcnt; ef->ddbstrtab = ef->strbase; + /* NUL-terminate the in-kernel strtab so strcmp() can't walk off. */ + if (strcnt > 0) + ((char *)ef->strbase)[strcnt - 1] = 0; nosyms: |