mirror of
https://gitlab.freedesktop.org/libbsd/libbsd.git
synced 2025-01-08 11:02:24 +01:00
nlist: Fix pread() return value check
We should check for partial reads, and not continue in those cases, as we are not retrying them, otherwise we might end up operating on uninitialized data. Reported-by: Daniel Hodson <daniel@elttam.com.au> Based-on-patch-by: Daniel Hodson <daniel@elttam.com.au> Signed-off-by: Guillem Jover <guillem@hadrons.org>
This commit is contained in:
parent
24d1f4dd34
commit
ce53f7c25f
@ -161,7 +161,7 @@ __fdnlist(int fd, struct nlist *list)
|
||||
return (-1);
|
||||
|
||||
/* Load section header table. */
|
||||
if (pread(fd, shdr, (size_t)shdr_size, (off_t)ehdr.e_shoff) < 0)
|
||||
if (pread(fd, shdr, (size_t)shdr_size, (off_t)ehdr.e_shoff) != (ssize_t)shdr_size)
|
||||
goto done;
|
||||
|
||||
/*
|
||||
@ -198,7 +198,7 @@ __fdnlist(int fd, struct nlist *list)
|
||||
if (strtab == NULL)
|
||||
goto done;
|
||||
|
||||
if (pread(fd, strtab, (size_t)symstrsize, (off_t)symstroff) < 0)
|
||||
if (pread(fd, strtab, (size_t)symstrsize, (off_t)symstroff) != (ssize_t)symstrsize)
|
||||
goto done;
|
||||
|
||||
/*
|
||||
|
Loading…
Reference in New Issue
Block a user