git: abed32f91d01 - main - realpath(3): Minor style issues.
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 18 Sep 2024 16:30:15 UTC
The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=abed32f91d01d91faa709622e3279e9baec37272 commit abed32f91d01d91faa709622e3279e9baec37272 Author: Dag-Erling Smørgrav <des@FreeBSD.org> AuthorDate: 2024-09-18 16:29:55 +0000 Commit: Dag-Erling Smørgrav <des@FreeBSD.org> CommitDate: 2024-09-18 16:29:55 +0000 realpath(3): Minor style issues. Sponsored by: Klara, Inc. Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D46695 --- lib/libc/stdlib/realpath.c | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/lib/libc/stdlib/realpath.c b/lib/libc/stdlib/realpath.c index 554d70b43a29..28348ea9e226 100644 --- a/lib/libc/stdlib/realpath.c +++ b/lib/libc/stdlib/realpath.c @@ -33,10 +33,10 @@ #include <sys/stat.h> #include <errno.h> +#include <fcntl.h> #include <stdlib.h> #include <string.h> #include <unistd.h> -#include <fcntl.h> #include <ssp/ssp.h> #include "un-namespace.h" #include "libc_private.h" @@ -146,13 +146,14 @@ realpath1(const char *path, char *resolved) return (NULL); } slen = readlink(resolved, symlink, sizeof(symlink)); - if (slen <= 0 || slen >= (ssize_t)sizeof(symlink)) { - if (slen < 0) - ; /* keep errno from readlink(2) call */ - else if (slen == 0) - errno = ENOENT; - else - errno = ENAMETOOLONG; + if (slen < 0) + return (NULL); + if (slen == 0) { + errno = ENOENT; + return (NULL); + } + if ((size_t)slen >= sizeof(symlink)) { + errno = ENAMETOOLONG; return (NULL); } symlink[slen] = '\0'; @@ -173,7 +174,7 @@ realpath1(const char *path, char *resolved) */ if (p != NULL) { if (symlink[slen - 1] != '/') { - if (slen + 1 >= (ssize_t)sizeof(symlink)) { + if ((size_t)slen + 1 >= sizeof(symlink)) { errno = ENAMETOOLONG; return (NULL); }