Changed strcpy() calls into strlcpy() calls, just to be extra safe.
[rsync/rsync.git] / tls.c
diff --git a/tls.c b/tls.c
index 569c55b..719c8c5 100644 (file)
--- a/tls.c
+++ b/tls.c
@@ -1,6 +1,8 @@
-/* -*- c-file-style: "linux" -*-
+/*
+ * Trivial ls for comparing two directories after running an rsync.
  *
- * Copyright (C) 2001, 2002 by Martin Pool <mbp@samba.org>
+ * Copyright (C) 2001, 2002 Martin Pool <mbp@samba.org>
+ * Copyright (C) 2003, 2004, 2005 Wayne Davison
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License version
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  * GNU General Public License for more details.
  *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
  */
 
-/**
- * @file tls.c
- *
- * Trivial @c ls for comparing two directories after running an rsync.
- *
- * The problem with using the system's own ls is that some features
+/* The problem with using the system's own ls is that some features
  * have little quirks that make directories look different when for
  * our purposes they're the same -- for example, the BSD braindamage
  * about setting the mode on symlinks based on your current umask.
@@ -34,9 +31,7 @@
  *
  * A key requirement for this program is that the output be "very
  * reproducible."  So we mask away information that can accidentally
- * change.
- **/
-
+ * change. */
 
 #include "rsync.h"
 
@@ -48,7 +43,6 @@ int read_only = 1;
 int list_only = 0;
 int preserve_perms = 0;
 
-
 static void failed(char const *what, char const *where)
 {
        fprintf(stderr, PROGRAM ": %s %s: %s\n",
@@ -56,8 +50,6 @@ static void failed(char const *what, char const *where)
        exit(1);
 }
 
-
-
 static void list_file(const char *fname)
 {
        STRUCT_STAT buf;
@@ -82,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)
@@ -107,7 +99,7 @@ static void list_file(const char *fname)
                        (int)mt->tm_min,
                        (int)mt->tm_sec);
        } else {
-               strcpy(datebuf, "                   ");
+               strlcpy(datebuf, "                   ", sizeof datebuf);
        }
 
        /* TODO: Perhaps escape special characters in fname? */
@@ -124,7 +116,6 @@ static void list_file(const char *fname)
               datebuf, fname, linkbuf);
 }
 
-
 int
 main(int argc, char *argv[])
 {