зеркало из https://github.com/github/putty.git
Avoid recursing into . and .. when in -r mode
[originally from svn r332]
This commit is contained in:
Родитель
d5123675aa
Коммит
cc98ca9aea
21
scp.c
21
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;
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче