- markus@cvs.openbsd.org 2001/03/16 13:44:24
     [sftp-int.c]
     discourage strcat/strcpy
diff --git a/ChangeLog b/ChangeLog
index a06e8d8..18256d0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -15,6 +15,9 @@
    - markus@cvs.openbsd.org 2001/03/16 09:55:53
      [sftp-int.c]
      fix memset and whitespace
+   - markus@cvs.openbsd.org 2001/03/16 13:44:24
+     [sftp-int.c]
+     discourage strcat/strcpy
 
 20010315
  - OpenBSD CVS Sync
@@ -4577,4 +4580,4 @@
  - Wrote replacements for strlcpy and mkdtemp
  - Released 1.0pre1
 
-$Id: ChangeLog,v 1.965 2001/03/17 00:36:17 mouring Exp $
+$Id: ChangeLog,v 1.966 2001/03/17 00:37:31 mouring Exp $
diff --git a/sftp-int.c b/sftp-int.c
index f77e2eb..8e45f86 100644
--- a/sftp-int.c
+++ b/sftp-int.c
@@ -26,7 +26,7 @@
 /* XXX: recursive operations */
 
 #include "includes.h"
-RCSID("$OpenBSD: sftp-int.c,v 1.30 2001/03/16 09:55:53 markus Exp $");
+RCSID("$OpenBSD: sftp-int.c,v 1.31 2001/03/16 13:44:24 markus Exp $");
 
 #include "buffer.h"
 #include "xmalloc.h"
@@ -198,11 +198,12 @@
 path_append(char *p1, char *p2)
 {
 	char *ret;
+	int len = strlen(p1) + strlen(p2) + 2;
 
-	ret = xmalloc(strlen(p1) + strlen(p2) + 2);
-	strcpy(ret, p1);
-	strcat(ret, "/");
-	strcat(ret, p2);
+	ret = xmalloc(len);
+	strlcpy(ret, p1, len);
+	strlcat(ret, "/", len);
+	strlcat(ret, p2, len);
 
 	return(ret);
 }