summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--scp.c6
2 files changed, 9 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 68b18adb..290d4f95 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -9,6 +9,9 @@
more useful.
based on discussion with <mats@mindbright.se> long time ago
and recent mail from <res@shore.net>
+ - 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 bd2c5c75..d317a71e 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) {