--- 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) { --