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
This commit is contained in:
parent
778b62251c
commit
f26c30a5f3
@ -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) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user