summaryrefslogtreecommitdiff
path: root/usr/src/cmd/ssh/scp/scp.c
diff options
context:
space:
mode:
authorPravas K Panda <pravas@Sun.COM>2009-06-22 08:25:32 -0700
committerPravas K Panda <pravas@Sun.COM>2009-06-22 08:25:32 -0700
commit1b94c6ef630dcd38cba57da1d3a34e80e6b35559 (patch)
tree272796a32ad767f0f856c30874f3dad926bc0027 /usr/src/cmd/ssh/scp/scp.c
parentb77ae85850cc6896099c720227fed62432aa9df6 (diff)
downloadillumos-gate-1b94c6ef630dcd38cba57da1d3a34e80e6b35559.tar.gz
6705402 ssh issue with scp, naming conventions within the command
Diffstat (limited to 'usr/src/cmd/ssh/scp/scp.c')
-rw-r--r--usr/src/cmd/ssh/scp/scp.c15
1 files changed, 12 insertions, 3 deletions
diff --git a/usr/src/cmd/ssh/scp/scp.c b/usr/src/cmd/ssh/scp/scp.c
index 88a37e4a3e..2759d952c5 100644
--- a/usr/src/cmd/ssh/scp/scp.c
+++ b/usr/src/cmd/ssh/scp/scp.c
@@ -1131,9 +1131,18 @@ okname(cp0)
c = (int)*cp;
if (c & 0200)
goto bad;
- if (!isalpha(c) && !isdigit(c) &&
- c != '_' && c != '-' && c != '.' && c != '+')
- goto bad;
+ if (!isalpha(c) && !isdigit(c)) {
+ switch (c) {
+ case '\'':
+ case '"':
+ case '`':
+ case ' ':
+ case '#':
+ goto bad;
+ default:
+ break;
+ }
+ }
} while (*++cp);
return (1);