From d47cf4d53cbddda9df6863d7000542f89b07b698 Mon Sep 17 00:00:00 2001 From: Ben Lindstrom Date: Sat, 7 Apr 2001 01:14:38 +0000 Subject: [PATCH] - deraadt@cvs.openbsd.org 2001/04/06 16:46:59 [scp.c] remove trailing / from source paths; fixes pr#1756 --- ChangeLog | 5 ++++- scp.c | 6 +++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 68b18adb6..290d4f953 100644 --- a/ChangeLog +++ b/ChangeLog @@ -9,6 +9,9 @@ more useful. based on discussion with long time ago and recent mail from + - deraadt@cvs.openbsd.org 2001/04/06 16:46:59 + [scp.c] + remove trailing / from source paths; fixes pr#1756 20010406 - (stevesk) logintest.c: fix for systems without __progname @@ -4920,4 +4923,4 @@ - Wrote replacements for strlcpy and mkdtemp - Released 1.0pre1 -$Id: ChangeLog,v 1.1076 2001/04/07 01:12:11 mouring Exp $ +$Id: ChangeLog,v 1.1077 2001/04/07 01:14:38 mouring Exp $ diff --git a/scp.c b/scp.c index bd2c5c751..d317a71e1 100644 --- a/scp.c +++ b/scp.c @@ -75,7 +75,7 @@ */ #include "includes.h" -RCSID("$OpenBSD: scp.c,v 1.64 2001/03/28 20:04:38 stevesk Exp $"); +RCSID("$OpenBSD: scp.c,v 1.65 2001/04/06 16:46:59 deraadt Exp $"); #include "xmalloc.h" #include "atomicio.h" @@ -500,10 +500,14 @@ source(argc, argv) off_t i; int amt, fd, haderr, indx, result; char *last, *name, buf[2048]; + int len; for (indx = 0; indx < argc; ++indx) { name = argv[indx]; statbytes = 0; + len = strlen(name); + while (len > 1 && name[len-1] == '/') + name[--len] = '\0'; if ((fd = open(name, O_RDONLY, 0)) < 0) goto syserr; if (fstat(fd, &stb) < 0) {