From 668318b2e69edd4aa71a21ff31731fa81dbe7095 Mon Sep 17 00:00:00 2001 From: ftrvxmtrx Date: Fri, 12 Feb 2016 23:52:50 +0200 Subject: [PATCH] ip/chandial: fail with Ebadarg instead of printing memory contents --- sys/src/9/ip/chandial.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/sys/src/9/ip/chandial.c b/sys/src/9/ip/chandial.c index 38139ceec..58fc007bc 100644 --- a/sys/src/9/ip/chandial.c +++ b/sys/src/9/ip/chandial.c @@ -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;