- 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);
}