From b6162db44d0dc840c2c511100c8b0e630bf89b60 Mon Sep 17 00:00:00 2001 From: xfnw Date: Sun, 3 Jul 2022 11:36:59 -0400 Subject: [PATCH] Squashed 'sys/src/cmd/gopher/' changes from 3680728b6..d2dd69c31 d2dd69c31 rendermenu: discard invalid lines git-subtree-dir: sys/src/cmd/gopher git-subtree-split: d2dd69c31884b642d5efc11cf1b95b677243d4bd --- gopher.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/gopher.c b/gopher.c index 55e6b30aa..8a6507091 100644 --- a/gopher.c +++ b/gopher.c @@ -129,7 +129,7 @@ rendermenu(Link *l, Biobuf *bp) char *s, *f[5], *t; Gmenu *m; Link *n; - int type; + int type, c; m = malloc(sizeof *m); if(m==nil) @@ -143,7 +143,7 @@ rendermenu(Link *l, Biobuf *bp) if(s==nil || s[0]=='.') break; type = seltype(s[0]); - getfields(s+1, f, 5, 0, "\t\r\n"); + c = getfields(s+1, f, 5, 0, "\t\r\n"); switch(type){ case Tinfo: break; @@ -151,6 +151,10 @@ rendermenu(Link *l, Biobuf *bp) n = mklink(strdup(f[1]+4), nil, Thtml); /* +4 skip URL: */ break; default: + if(type < 0 && c < 3){ + fprint(2, "skipping invalid menu line '%s'\n", s); + continue; + } n = mklink(netmkaddr(f[2], "tcp", f[3]), strdup(f[1]), type); break; }