From 7a656f792207bacd1148eb962919202908d83e9c Mon Sep 17 00:00:00 2001 From: Damien Miller Date: Sun, 23 Apr 2006 12:04:46 +1000 Subject: [PATCH] - djm@cvs.openbsd.org 2006/04/01 05:50:29 [scp.c] xasprintification; ok deraadt@ --- ChangeLog | 5 ++++- scp.c | 12 +++--------- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/ChangeLog b/ChangeLog index fb737717b..4aec5c5c9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -3,6 +3,9 @@ - deraadt@cvs.openbsd.org 2006/04/01 05:42:20 [scp.c] minimal lint cleanup (unused crud, and some size_t); ok djm + - djm@cvs.openbsd.org 2006/04/01 05:50:29 + [scp.c] + xasprintification; ok deraadt@ 20060421 - (djm) [Makefile.in configure.ac session.c sshpty.c] @@ -4514,4 +4517,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.4303 2006/04/23 02:04:27 djm Exp $ +$Id: ChangeLog,v 1.4304 2006/04/23 02:04:46 djm Exp $ diff --git a/scp.c b/scp.c index 6c8bbcdb7..2778f8f80 100644 --- a/scp.c +++ b/scp.c @@ -1,4 +1,4 @@ -/* $OpenBSD: scp.c,v 1.140 2006/04/01 05:42:20 deraadt Exp $ */ +/* $OpenBSD: scp.c,v 1.141 2006/04/01 05:50:29 djm Exp $ */ /* * scp - secure remote copy. This is basically patched BSD rcp which * uses ssh to do the data transfer (instead of using rcmd). @@ -422,7 +422,6 @@ toremote(char *targ, int argc, char **argv) { char *bp, *host, *src, *suser, *thost, *tuser, *arg; arglist alist; - size_t len; int i; memset(&alist, '\0', sizeof(alist)); @@ -488,9 +487,7 @@ toremote(char *targ, int argc, char **argv) errs = 1; } else { /* local to remote */ if (remin == -1) { - len = strlen(targ) + CMDNEEDS + 20; - bp = xmalloc(len); - (void) snprintf(bp, len, "%s -t %s", cmd, targ); + xasprintf(&bp, "%s -t %s", cmd, targ); host = cleanhostname(thost); if (do_cmd(host, tuser, bp, &remin, &remout) < 0) @@ -509,7 +506,6 @@ tolocal(int argc, char **argv) { char *bp, *host, *src, *suser; arglist alist; - size_t len; int i; memset(&alist, '\0', sizeof(alist)); @@ -542,9 +538,7 @@ tolocal(int argc, char **argv) suser = pwd->pw_name; } host = cleanhostname(host); - len = strlen(src) + CMDNEEDS + 20; - bp = xmalloc(len); - (void) snprintf(bp, len, "%s -f %s", cmd, src); + xasprintf(&bp, "%s -f %s", cmd, src); if (do_cmd(host, suser, bp, &remin, &remout) < 0) { (void) xfree(bp); ++errs;