diff options
author | Damien Miller <djm@mindrot.org> | 2005-04-03 10:16:11 +1000 |
---|---|---|
committer | Damien Miller <djm@mindrot.org> | 2005-04-03 10:16:11 +1000 |
commit | 3dae15c6111a90a4a7417a34fa47a1cfee16963e (patch) | |
tree | 7df77118a695fb7f287c0f43f0eb9f87e1290688 | |
parent | de0de39082ee971aa3ff442e0201d9eff5c75cca (diff) |
- deraadt@cvs.openbsd.org 2005/03/31 18:39:21
[scp.c]
copy argv[] element instead of smashing the one that ps will see; ok otto
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | scp.c | 13 |
2 files changed, 15 insertions, 6 deletions
@@ -1,3 +1,9 @@ +20050403 + - (djm) OpenBSD CVS Sync + - deraadt@cvs.openbsd.org 2005/03/31 18:39:21 + [scp.c] + copy argv[] element instead of smashing the one that ps will see; ok otto + 20050331 - (dtucker) OpenBSD CVS Sync - jmc@cvs.openbsd.org 2005/03/16 11:10:38 @@ -2408,4 +2414,4 @@ - (djm) Trim deprecated options from INSTALL. Mention UsePAM - (djm) Fix quote handling in sftp; Patch from admorten AT umich.edu -$Id: ChangeLog,v 1.3734 2005/03/31 13:52:04 dtucker Exp $ +$Id: ChangeLog,v 1.3735 2005/04/03 00:16:11 djm Exp $ @@ -71,7 +71,7 @@ */ #include "includes.h" -RCSID("$OpenBSD: scp.c,v 1.119 2005/01/24 10:22:06 dtucker Exp $"); +RCSID("$OpenBSD: scp.c,v 1.120 2005/03/31 18:39:21 deraadt Exp $"); #include "xmalloc.h" #include "atomicio.h" @@ -361,20 +361,23 @@ void toremote(char *targ, int argc, char **argv) { int i, len; - char *bp, *host, *src, *suser, *thost, *tuser; + char *bp, *host, *src, *suser, *thost, *tuser, *arg; *targ++ = 0; if (*targ == 0) targ = "."; - if ((thost = strrchr(argv[argc - 1], '@'))) { + arg = strdup(argv[argc - 1]); + if (!arg) + err(1, "malloc"); + if ((thost = strrchr(arg, '@'))) { /* user@host */ *thost++ = 0; - tuser = argv[argc - 1]; + tuser = arg; if (*tuser == '\0') tuser = NULL; } else { - thost = argv[argc - 1]; + thost = arg; tuser = NULL; } |