summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bin/rcp/rcp.c6
-rw-r--r--usr.bin/ssh/scp.c6
2 files changed, 10 insertions, 2 deletions
diff --git a/bin/rcp/rcp.c b/bin/rcp/rcp.c
index a473c0737fb..bfdb16bc29b 100644
--- a/bin/rcp/rcp.c
+++ b/bin/rcp/rcp.c
@@ -1,5 +1,5 @@
/* $NetBSD: rcp.c,v 1.9 1995/03/21 08:19:06 cgd Exp $ */
-/* $OpenBSD: rcp.c,v 1.18 1997/12/08 05:15:29 deraadt Exp $ */
+/* $OpenBSD: rcp.c,v 1.19 2001/04/06 16:46:59 deraadt Exp $ */
/*
* Copyright (c) 1983, 1990, 1992, 1993
@@ -403,9 +403,13 @@ source(argc, argv)
off_t i;
int amt, fd, haderr, indx, result;
char *last, *name, buf[BUFSIZ];
+ int len;
for (indx = 0; indx < argc; ++indx) {
name = argv[indx];
+ 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)) {
diff --git a/usr.bin/ssh/scp.c b/usr.bin/ssh/scp.c
index b42b9be62cb..a19a19d6b46 100644
--- a/usr.bin/ssh/scp.c
+++ b/usr.bin/ssh/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"
@@ -483,10 +483,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) {