aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDag-Erling Smørgrav <des@FreeBSD.org>2026-05-21 09:26:47 +0000
committerDag-Erling Smørgrav <des@FreeBSD.org>2026-05-21 09:37:33 +0000
commite9cbbf04d6fe24b3a207cf085122def72145742e (patch)
tree1b573c8b3e7d2c21ebbc7792e3fc577c393d489b
parent6eba055fcf5b0bbfbebcac59f5982d13815001b0 (diff)
nlist: Decrement nent on match
PR: 295336 MFC after: 1 week Fixes: 4617a6cb82a6 ("nlist: Handle multiple symbol tables")
-rw-r--r--lib/libc/gen/nlist.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/libc/gen/nlist.c b/lib/libc/gen/nlist.c
index 06034dc8ee1a..2a9d22852b9a 100644
--- a/lib/libc/gen/nlist.c
+++ b/lib/libc/gen/nlist.c
@@ -259,8 +259,10 @@ elf_scan_symtab(Elf_Shdr *shdr, int shnum, int fd, off_t symoff, size_t symsize,
slen = strnlen(name, strsize - s->st_name);
for (p = list; nent > 0 && !ISLAST(p); p++) {
if (strncmp(name, p->n_un.n_name, slen) == 0 &&
- p->n_un.n_name[slen] == '\0')
+ p->n_un.n_name[slen] == '\0') {
elf_sym_to_nlist(p, s, shdr, shnum);
+ --nent;
+ }
}
}
}