properly end the string such that we don't get garbage in symlinks
authorFabian Groffen <grobian@gentoo.org>
Thu, 27 Dec 2007 19:41:40 +0000 (19:41 -0000)
committerFabian Groffen <grobian@gentoo.org>
Thu, 27 Dec 2007 19:41:40 +0000 (19:41 -0000)
svn path=/main/branches/prefix/; revision=9057

src/chpathtool.c

index 6f6960afe11c11a4824e64025e27183e2a4784d0..0aa07c38193429a8ed804d25397f43498fbf18c0 100644 (file)
@@ -239,7 +239,7 @@ int dirwalk(char *src, char *srcp, char *trg, char *trgp) {
                                )
                {
                        /* FIXME: handle hard links! (keep track of files with >1
-                        * refs, match those with a list of known files */
+                        * refs, match those with a list of known files with count >1 */
 
                        /* copy */
                        if (chpath(src, trg) != 0) {
@@ -309,7 +309,9 @@ int dirwalk(char *src, char *srcp, char *trg, char *trgp) {
                                pr += valuelen;
                                pb += magiclen;
                        }
-                       memcpy(pr, pb, (&buf[0] + len) - pb);
+                       len = (&buf[0] + len) - pb;
+                       memcpy(pr, pb, len);
+                       pr[len] = '\0';
 
                        if (symlink(rep, trg) != 0) {
                                fprintf(stderr, "failed to create symlink %s -> %s: %s\n",