projects
/
u
/
mdw
/
putty
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(from parent 1:
b8c98f3
)
Avoid recursing into . and .. when in -r mode
author
simon
<simon@cda61777-01e9-0310-a592-d414129be87e>
Tue, 30 Nov 1999 11:53:42 +0000
(11:53 +0000)
committer
simon
<simon@cda61777-01e9-0310-a592-d414129be87e>
Tue, 30 Nov 1999 11:53:42 +0000
(11:53 +0000)
git-svn-id: svn://svn.tartarus.org/sgt/putty@332
cda61777
-01e9-0310-a592-
d414129be87e
scp.c
patch
|
blob
|
blame
|
history
diff --git
a/scp.c
b/scp.c
index
299f6fd
..
ac232fa
100644
(file)
--- a/
scp.c
+++ b/
scp.c
@@
-277,10
+277,25
@@
static void source(char *src)
}
if ((attr & FILE_ATTRIBUTE_DIRECTORY) != 0) {
- if (recursive)
- rsource(src);
- else
+ if (recursive) {
+ /*
+ * Avoid . and .. directories.
+ */
+ char *p;
+ p = strrchr(src, '/');
+ if (!p)
+ p = strrchr(src, '\\');
+ if (!p)
+ p = src;
+ else
+ p++;
+ if (!strcmp(p, ".") || !strcmp(p, ".."))
+ /* skip . and .. */;
+ else
+ rsource(src);
+ } else {
run_err("%s: not a regular file", src);
+ }
return;
}