diff options
author | 2001-02-10 15:14:11 +0000 | |
---|---|---|
committer | 2001-02-10 15:14:11 +0000 | |
commit | fb66e46ad92d0c88f2f202aa0b1cc2003049e67f (patch) | |
tree | a11336b93148d7c2e3aeadbbbf95c58c84c2e5c0 /usr.bin/ssh/scp.c | |
parent | offer passwd before s/key (diff) | |
download | wireguard-openbsd-fb66e46ad92d0c88f2f202aa0b1cc2003049e67f.tar.xz wireguard-openbsd-fb66e46ad92d0c88f2f202aa0b1cc2003049e67f.zip |
fix memory leak; ok markus@
Diffstat (limited to 'usr.bin/ssh/scp.c')
-rw-r--r-- | usr.bin/ssh/scp.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/usr.bin/ssh/scp.c b/usr.bin/ssh/scp.c index b8d37dc8f11..1974da34324 100644 --- a/usr.bin/ssh/scp.c +++ b/usr.bin/ssh/scp.c @@ -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 @@ sink(argc, argv) need = strlen(targ) + strlen(cp) + 250; if (need > cursize) { + if (namebuf) + xfree(namebuf); namebuf = xmalloc(need); cursize = need; } @@ -781,8 +783,10 @@ sink(argc, argv) 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) |