ip/chandial: fail with Ebadarg instead of printing memory contents

front
ftrvxmtrx 2016-02-12 23:52:50 +02:00
parent eeb96dca21
commit 668318b2e6
1 changed files with 5 additions and 3 deletions

View File

@ -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;