[scp.c]
     ftruncate() instead of open()+O_TRUNC like rcp.c does
     allows scp /path/to/file localhost:/path/to/file
This commit is contained in:
Ben Lindstrom 2001-06-05 19:31:41 +00:00
parent 7d68fbf4c5
commit 7bad55b8cb
2 changed files with 7 additions and 5 deletions

View File

@ -12,6 +12,10 @@
[session.c] [session.c]
Disable X11 forwarding if xauth binary is not found. Patch from Nalin Disable X11 forwarding if xauth binary is not found. Patch from Nalin
Dahyabhai <nalin@redhat.com>; ok markus@ Dahyabhai <nalin@redhat.com>; ok markus@
- markus@cvs.openbsd.org 2001/05/19 16:05:41
[scp.c]
ftruncate() instead of open()+O_TRUNC like rcp.c does
allows scp /path/to/file localhost:/path/to/file
20010528 20010528
- (tim) [conifgure.in] add setvbuf test needed for sftp-int.c - (tim) [conifgure.in] add setvbuf test needed for sftp-int.c
@ -5442,4 +5446,4 @@
- Wrote replacements for strlcpy and mkdtemp - Wrote replacements for strlcpy and mkdtemp
- Released 1.0pre1 - Released 1.0pre1
$Id: ChangeLog,v 1.1229 2001/06/05 19:29:20 mouring Exp $ $Id: ChangeLog,v 1.1230 2001/06/05 19:31:41 mouring Exp $

6
scp.c
View File

@ -75,7 +75,7 @@
*/ */
#include "includes.h" #include "includes.h"
RCSID("$OpenBSD: scp.c,v 1.70 2001/05/08 19:45:24 mouring Exp $"); RCSID("$OpenBSD: scp.c,v 1.71 2001/05/19 16:05:41 markus Exp $");
#include "xmalloc.h" #include "xmalloc.h"
#include "atomicio.h" #include "atomicio.h"
@ -804,7 +804,7 @@ sink(argc, argv)
} }
omode = mode; omode = mode;
mode |= S_IWRITE; mode |= S_IWRITE;
if ((ofd = open(np, O_WRONLY | O_CREAT | O_TRUNC, mode)) < 0) { if ((ofd = open(np, O_WRONLY|O_CREAT, mode)) < 0) {
bad: run_err("%s: %s", np, strerror(errno)); bad: run_err("%s: %s", np, strerror(errno));
continue; continue;
} }
@ -859,12 +859,10 @@ bad: run_err("%s: %s", np, strerror(errno));
wrerr = YES; wrerr = YES;
wrerrno = j >= 0 ? EIO : errno; wrerrno = j >= 0 ? EIO : errno;
} }
#if 0
if (ftruncate(ofd, size)) { if (ftruncate(ofd, size)) {
run_err("%s: truncate: %s", np, strerror(errno)); run_err("%s: truncate: %s", np, strerror(errno));
wrerr = DISPLAYED; wrerr = DISPLAYED;
} }
#endif
if (pflag) { if (pflag) {
if (exists || omode != mode) if (exists || omode != mode)
#ifdef HAVE_FCHMOD #ifdef HAVE_FCHMOD