summaryrefslogtreecommitdiffstats
path: root/pw
diff options
context:
space:
mode:
authorKevin Lo <kevlo@FreeBSD.org>2012-02-14 10:17:03 +0000
committerKevin Lo <kevlo@FreeBSD.org>2012-02-14 10:17:03 +0000
commit2522cfffa2dbf5725baa06c63a3c76e608472104 (patch)
tree85674ca15332fc139d96563799227f827685b129 /pw
parent1af8a33c9441eef316ecca0ac0ba38fbec47cbcb (diff)
downloadpw-darwin-2522cfffa2dbf5725baa06c63a3c76e608472104.tar.gz
pw-darwin-2522cfffa2dbf5725baa06c63a3c76e608472104.tar.zst
pw-darwin-2522cfffa2dbf5725baa06c63a3c76e608472104.zip
readlink len-1
Diffstat (limited to 'pw')
-rw-r--r--pw/cpdir.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/pw/cpdir.c b/pw/cpdir.c
index c5534e5..0fd671b 100644
--- a/pw/cpdir.c
+++ b/pw/cpdir.c
@@ -84,7 +84,7 @@ copymkdir(char const * dir, char const * skel, mode_t mode, uid_t uid, gid_t gid
if (strcmp(e->d_name, ".") != 0 && strcmp(e->d_name, "..") != 0)
copymkdir(dst, src, st.st_mode & _DEF_DIRMODE, uid, gid);
chflags(dst, st.st_flags); /* propagate flags */
- } else if (S_ISLNK(st.st_mode) && (len = readlink(src, lnk, sizeof(lnk))) != -1) {
+ } else if (S_ISLNK(st.st_mode) && (len = readlink(src, lnk, sizeof(lnk) - 1)) != -1) {
lnk[len] = '\0';
symlink(lnk, dst);
lchown(dst, uid, gid);