diff options
-rw-r--r-- | bin/rcp/rcp.c | 6 | ||||
-rw-r--r-- | usr.bin/ssh/scp.c | 6 |
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) { |