- danh@cvs.openbsd.org 2001/02/10 0:12:43
     [scp.c]
     revert a small change to allow -r option to work again; ok deraadt@
   - danh@cvs.openbsd.org 2001/02/10 15:14:11
     [scp.c]
     fix memory leak; ok markus@
diff --git a/ChangeLog b/ChangeLog
index 8b32275..be46b66 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -15,6 +15,12 @@
    - markus@cvs.openbsd.org 2001/02/10 12:44:02
      [cli.c]
      don't call vis() for \r
+   - danh@cvs.openbsd.org 2001/02/10 0:12:43
+     [scp.c]
+     revert a small change to allow -r option to work again; ok deraadt@
+   - danh@cvs.openbsd.org 2001/02/10 15:14:11
+     [scp.c]
+     fix memory leak; ok markus@
 
 20010210
  - (djm) Sync sftp and scp stuff from OpenBSD:
@@ -3798,4 +3804,4 @@
  - Wrote replacements for strlcpy and mkdtemp
  - Released 1.0pre1
 
-$Id: ChangeLog,v 1.717 2001/02/10 21:45:02 mouring Exp $
+$Id: ChangeLog,v 1.718 2001/02/10 21:50:00 mouring Exp $
diff --git a/scp.c b/scp.c
index 0095d6f..0da4f97 100644
--- a/scp.c
+++ b/scp.c
@@ -75,7 +75,7 @@
  */
 
 #include "includes.h"
-RCSID("$OpenBSD: scp.c,v 1.56 2001/02/08 19:30:52 itojun Exp $");
+RCSID("$OpenBSD: scp.c,v 1.58 2001/02/10 15:14:11 danh Exp $");
 
 #include "xmalloc.h"
 #include "atomicio.h"
@@ -799,8 +799,10 @@
 				if (mkdir(np, mode | S_IRWXU) < 0)
 					goto bad;
 			}
-			vect[0] = np;
+			vect[0] = xstrdup(np);
 			sink(1, vect);
+			if (vect[0])
+				xfree(vect[0]);
 			if (setimes) {
 				setimes = 0;
 				if (utimes(np, tv) < 0)