fix nmap bug reported by Rick Adams
authorSteve Jacobson <csvsj@ucbvax.Berkeley.EDU>
Tue, 7 Feb 1989 06:46:36 +0000 (22:46 -0800)
committerSteve Jacobson <csvsj@ucbvax.Berkeley.EDU>
Tue, 7 Feb 1989 06:46:36 +0000 (22:46 -0800)
SCCS-vsn: usr.bin/ftp/cmds.c 5.12

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

index 8065283..b7946a3 100644 (file)
@@ -16,7 +16,7 @@
  */
 
 #ifndef lint
  */
 
 #ifndef lint
-static char sccsid[] = "@(#)cmds.c     5.11 (Berkeley) %G%";
+static char sccsid[] = "@(#)cmds.c     5.12 (Berkeley) %G%";
 #endif /* not lint */
 
 /*
 #endif /* not lint */
 
 /*
@@ -1594,7 +1594,7 @@ domap(name)
        static char new[MAXPATHLEN];
        register char *cp1 = name, *cp2 = mapin;
        char *tp[9], *te[9];
        static char new[MAXPATHLEN];
        register char *cp1 = name, *cp2 = mapin;
        char *tp[9], *te[9];
-       int i, toks[9], toknum, match = 1;
+       int i, toks[9], toknum = 0, match = 1;
 
        for (i=0; i < 9; ++i) {
                toks[i] = 0;
 
        for (i=0; i < 9; ++i) {
                toks[i] = 0;
@@ -1625,13 +1625,17 @@ domap(name)
                                }
                                break;
                }
                                }
                                break;
                }
-               if (*cp1) {
+               if (match && *cp1) {
                        cp1++;
                }
                        cp1++;
                }
-               if (*cp2) {
+               if (match && *cp2) {
                        cp2++;
                }
        }
                        cp2++;
                }
        }
+       if (!match && *cp1) /* last token mismatch */
+       {
+               toks[toknum] = 0;
+       }
        cp1 = new;
        *cp1 = '\0';
        cp2 = mapout;
        cp1 = new;
        *cp1 = '\0';
        cp2 = mapout;