fix access check on destination files in recvrequest().
authorRalph Campbell <ralph@ucbvax.Berkeley.EDU>
Fri, 26 Oct 1984 01:24:26 +0000 (17:24 -0800)
committerRalph Campbell <ralph@ucbvax.Berkeley.EDU>
Fri, 26 Oct 1984 01:24:26 +0000 (17:24 -0800)
SCCS-vsn: usr.bin/ftp/ftp.c 4.13

usr/src/usr.bin/ftp/ftp.c

index 6f3ed61..20a5fa3 100644 (file)
@@ -1,5 +1,5 @@
 #ifndef lint
 #ifndef lint
-static char sccsid[] = "@(#)ftp.c      4.12 (Berkeley) %G%";
+static char sccsid[] = "@(#)ftp.c      4.13 (Berkeley) %G%";
 #endif
 
 #include <sys/param.h>
 #endif
 
 #include <sys/param.h>
@@ -360,12 +360,13 @@ recvrequest(cmd, local, remote, mode)
 
                        if (dir != NULL)
                                *dir = 0;
 
                        if (dir != NULL)
                                *dir = 0;
-                       if (access(dir ? dir : ".", 2) < 0) {
+                       d = access(dir ? local : ".", 2);
+                       if (dir != NULL)
+                               *dir = '/';
+                       if (d < 0) {
                                perror(local);
                                goto bad;
                        }
                                perror(local);
                                goto bad;
                        }
-                       if (dir != NULL)
-                               *dir = '/';
                }
        if (initconn())
                goto bad;
                }
        if (initconn())
                goto bad;