summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorimp <imp@FreeBSD.org>2001-05-16 19:10:40 +0000
committerimp <imp@FreeBSD.org>2001-05-16 19:10:40 +0000
commitd3f66389ff16a4744bbf881cad06556b1b9830fe (patch)
treeb04dfa3212484d6d0559a8715c17cf27319f27bb
parente2fa665e9f1748f3f8e15f524f6d7fb542e66b37 (diff)
downloadFreeBSD-src-d3f66389ff16a4744bbf881cad06556b1b9830fe.zip
FreeBSD-src-d3f66389ff16a4744bbf881cad06556b1b9830fe.tar.gz
Migrate from using MAXPATHLEN to MAX_PATH. Use strlcpy to copy the
strings.
-rw-r--r--bin/cp/cp.c6
-rw-r--r--bin/cp/extern.h2
-rw-r--r--bin/cp/utils.c3
3 files changed, 6 insertions, 5 deletions
diff --git a/bin/cp/cp.c b/bin/cp/cp.c
index e528aea..0592444 100644
--- a/bin/cp/cp.c
+++ b/bin/cp/cp.c
@@ -69,6 +69,7 @@ static const char rcsid[] =
#include <err.h>
#include <errno.h>
#include <fts.h>
+#include <limits.h>
#include <stdio.h>
#include <string.h>
#include <unistd.h>
@@ -177,9 +178,8 @@ main(argc, argv)
/* Save the target base in "to". */
target = argv[--argc];
- if (strlen(target) > MAXPATHLEN)
+ if (strlcpy(to.p_path, target, sizeof(to.p_path)) >= sizeof(to.p_path))
errx(1, "%s: name too long", target);
- (void)strcpy(to.p_path, target);
to.p_end = to.p_path + strlen(to.p_path);
if (to.p_path == to.p_end) {
*to.p_end++ = '.';
@@ -318,7 +318,7 @@ copy(argv, type, fts_options)
if (*p != '/' && target_mid[-1] != '/')
*target_mid++ = '/';
*target_mid = 0;
- if (target_mid - to.p_path + nlen > MAXPATHLEN) {
+ if (target_mid - to.p_path + nlen >= PATH_MAX) {
warnx("%s%s: name too long (not copied)",
to.p_path, p);
badcp = rval = 1;
diff --git a/bin/cp/extern.h b/bin/cp/extern.h
index 272d632..3b0ecef 100644
--- a/bin/cp/extern.h
+++ b/bin/cp/extern.h
@@ -37,7 +37,7 @@
typedef struct {
char *p_end; /* pointer to NULL at end of path */
char *target_end; /* pointer to end of target base */
- char p_path[MAXPATHLEN + 1]; /* pointer to the start of a path */
+ char p_path[PATH_MAX]; /* pointer to the start of a path */
} PATH_T;
extern PATH_T to;
diff --git a/bin/cp/utils.c b/bin/cp/utils.c
index 34b0225..110cc79 100644
--- a/bin/cp/utils.c
+++ b/bin/cp/utils.c
@@ -50,6 +50,7 @@ static const char rcsid[] =
#include <errno.h>
#include <fcntl.h>
#include <fts.h>
+#include <limits.h>
#include <stdio.h>
#include <sysexits.h>
#include <unistd.h>
@@ -209,7 +210,7 @@ copy_link(p, exists)
int exists;
{
int len;
- char link[MAXPATHLEN];
+ char link[PATH_MAX];
if ((len = readlink(p->fts_path, link, sizeof(link) - 1)) == -1) {
warn("readlink: %s", p->fts_path);
OpenPOWER on IntegriCloud