]> git.lizzy.rs Git - plan9front.git/blobdiff - sys/src/9/ip/chandial.c
devip: verify ifcid on routehint check, check Route.ref for free'd routes
[plan9front.git] / sys / src / 9 / ip / chandial.c
old mode 100755 (executable)
new mode 100644 (file)
index 38139ce..58fc007
@@ -40,7 +40,7 @@ chandial(char *dest, char *local, char *dir, Chan **ctlp)
        ds.ctlp = ctlp;
 
        _dial_string_parse(dest, &ds);
-       if(ds.netdir == 0)
+       if(ds.netdir == nil)
                ds.netdir = "/net";
 
        /* no connection server, don't translate */
@@ -109,11 +109,13 @@ _dial_string_parse(char *str, DS *ds)
                ds->rem = ds->buf;
        } else {
                if(*ds->buf != '/' && *ds->buf != '#'){
-                       ds->netdir = 0;
+                       ds->netdir = nil;
                        ds->proto = ds->buf;
                } else {
-                       for(p2 = p; *p2 != '/'; p2--)
+                       for(p2 = p; *p2 != '/' && p2 != ds->buf; p2--)
                                ;
+                       if(p2 == ds->buf)
+                               error(Ebadarg);
                        *p2++ = 0;
                        ds->netdir = ds->buf;
                        ds->proto = p2;