A helper file for cleanup.c.
[rsync/rsync.git] / tls.c
diff --git a/tls.c b/tls.c
index 425d701..4d1ab91 100644 (file)
--- a/tls.c
+++ b/tls.c
@@ -74,7 +74,7 @@ static void list_file(const char *fname)
                buf.st_mode &= ~0777;
                buf.st_mtime = (time_t)0;
                buf.st_uid = buf.st_gid = 0;
-               strcpy(linkbuf, " -> ");
+               strlcpy(linkbuf, " -> ", sizeof linkbuf);
                /* const-cast required for silly UNICOS headers */
                len = readlink((char *) fname, linkbuf+4, sizeof(linkbuf) - 4);
                if (len == -1)
@@ -91,16 +91,16 @@ static void list_file(const char *fname)
        if (buf.st_mtime) {
                mt = gmtime(&buf.st_mtime);
 
-               sprintf(datebuf, "%04d-%02d-%02d %02d:%02d:%02d",
+               snprintf(datebuf, sizeof datebuf,
+                       "%04d-%02d-%02d %02d:%02d:%02d",
                        (int)mt->tm_year + 1900,
                        (int)mt->tm_mon + 1,
                        (int)mt->tm_mday,
                        (int)mt->tm_hour,
                        (int)mt->tm_min,
                        (int)mt->tm_sec);
-       } else {
-               strcpy(datebuf, "                   ");
-       }
+       } else
+               strlcpy(datebuf, "                   ", sizeof datebuf);
 
        /* TODO: Perhaps escape special characters in fname? */