15 lines
316 B
Diff
15 lines
316 B
Diff
|
--- a/scp.c
|
||
|
+++ a/scp.c
|
||
|
@@ -1084,6 +1084,10 @@ sink(int argc, char **argv)
|
||
|
free(vect[0]);
|
||
|
continue;
|
||
|
}
|
||
|
+ if (buf[0] == 'C' && ! exists && np[strlen(np)-1] == '/') {
|
||
|
+ errno = ENOTDIR;
|
||
|
+ goto bad;
|
||
|
+ }
|
||
|
omode = mode;
|
||
|
mode |= S_IWUSR;
|
||
|
if ((ofd = open(np, O_WRONLY|O_CREAT, mode)) == -1) {
|
||
|
--
|