svn commit: r356503 - head/libexec/rtld-elf
Konstantin Belousov
kib at FreeBSD.org
Wed Jan 8 17:37:21 UTC 2020
Author: kib
Date: Wed Jan 8 17:37:20 2020
New Revision: 356503
URL: https://svnweb.freebsd.org/changeset/base/356503
Log:
rtld: fix after r356300
binpath local was changed from char array to a char pointer, update
strlcpy/strlcat uses.
Reported by: Coverity through vangyzen
CID: 1412239 and 1412240
Reviewed by: emaste, imp, vangyzen
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D23090
Modified:
head/libexec/rtld-elf/rtld.c
Modified: head/libexec/rtld-elf/rtld.c
==============================================================================
--- head/libexec/rtld-elf/rtld.c Wed Jan 8 17:31:54 2020 (r356502)
+++ head/libexec/rtld-elf/rtld.c Wed Jan 8 17:37:20 2020 (r356503)
@@ -5531,15 +5531,12 @@ open_binary_fd(const char *argv0, bool search_in_path,
fd = -1;
errno = ENOENT;
while ((pe = strsep(&pathenv, ":")) != NULL) {
- if (strlcpy(binpath, pe, sizeof(binpath)) >=
- sizeof(binpath))
+ if (strlcpy(binpath, pe, PATH_MAX) >= PATH_MAX)
continue;
if (binpath[0] != '\0' &&
- strlcat(binpath, "/", sizeof(binpath)) >=
- sizeof(binpath))
+ strlcat(binpath, "/", PATH_MAX) >= PATH_MAX)
continue;
- if (strlcat(binpath, argv0, sizeof(binpath)) >=
- sizeof(binpath))
+ if (strlcat(binpath, argv0, PATH_MAX) >= PATH_MAX)
continue;
fd = open(binpath, O_RDONLY | O_CLOEXEC | O_VERIFY);
if (fd != -1 || errno != ENOENT) {
More information about the svn-src-all
mailing list