From c5b8baea8f557f9c63e26693bd8b23a5251edd4d Mon Sep 17 00:00:00 2001 From: Kevin Lo Date: Tue, 14 Feb 2012 10:17:03 +0000 Subject: readlink len-1 --- pw/cpdir.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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); -- cgit v1.2.3