wmii

git clone git://oldgit.suckless.org/wmii/
Log | Files | Refs | README | LICENSE

commit 9f232d69b56a8b619c6e11f859b1605cf26bc6c6
parent 510535e7bb10063b48a133af2e4d29b806be2f2e
Author: Anselm R. Garbe <garbeam@wmii.de>
Date:   Sat,  4 Feb 2006 19:39:05 +0200

fixed fs access issues on mkqid for /new namespace


Diffstat:
cmd/wm/fs.c | 6+++++-
1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/cmd/wm/fs.c b/cmd/wm/fs.c @@ -264,13 +264,15 @@ mkqid(Qid *dir, char *wname, Qid *new) break; case Darea: fprintf(stderr, "mkqid(): %s\n", "Darea"); - if(!npage) + if(!npage || dpg >= npage) return -1; new->type = IXP_QTDIR; if(!strncmp(wname, "new", 4)) new->path = mkqpath(Darea, dpgid, NEW_OBJ, 0); else if(!strncmp(wname, "sel", 4)) { Page *p = page[dpg]; + if(!p->narea) + return -1; new->path = mkqpath(Darea, dpgid, p->area[p->sel]->id, 0); } else { @@ -286,6 +288,8 @@ mkqid(Qid *dir, char *wname, Qid *new) new->type = IXP_QTDIR; if(!strncmp(wname, "sel", 4)) { Area *a = page[dpg]->area[darea]; + if(!a->nclient) + return -1; new->path = mkqpath(Dclient, dpgid, daid, a->client[a->sel]->id); } else {