=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/ssh/scp.c,v retrieving revision 1.57 retrieving revision 1.58 diff -u -r1.57 -r1.58 --- src/usr.bin/ssh/scp.c 2001/02/10 00:12:43 1.57 +++ src/usr.bin/ssh/scp.c 2001/02/10 15:14:11 1.58 @@ -75,7 +75,7 @@ */ #include "includes.h" -RCSID("$OpenBSD: scp.c,v 1.57 2001/02/10 00:12:43 danh Exp $"); +RCSID("$OpenBSD: scp.c,v 1.58 2001/02/10 15:14:11 danh Exp $"); #include "xmalloc.h" #include "atomicio.h" @@ -755,6 +755,8 @@ need = strlen(targ) + strlen(cp) + 250; if (need > cursize) { + if (namebuf) + xfree(namebuf); namebuf = xmalloc(need); cursize = need; } @@ -781,8 +783,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)