From 13f60efbd7d8572e2850dae9c0adbcc137be3e92 Mon Sep 17 00:00:00 2001 From: Clint Adams Date: Fri, 5 Sep 2008 00:24:27 +0000 Subject: 25611, 25613: protect against two possible NULL dereferences. --- Src/Modules/curses.c | 40 ++++++++++++++++++++++------------------ 1 file changed, 22 insertions(+), 18 deletions(-) (limited to 'Src') diff --git a/Src/Modules/curses.c b/Src/Modules/curses.c index df8a9cdc6..fe03cd268 100644 --- a/Src/Modules/curses.c +++ b/Src/Modules/curses.c @@ -874,16 +874,17 @@ zccmd_attr(const char *nam, char **args) if ((zca = zcurses_attrget(w->win, ptr)) == NULL) { zwarnnam(nam, "attribute `%s' not known", ptr); ret = 1; - } - switch(onoff) { - case ZCURSES_ATTRON: - if (wattron(w->win, zca->number) == ERR) - ret = 1; - break; - case ZCURSES_ATTROFF: - if (wattroff(w->win, zca->number) == ERR) - ret = 1; - break; + } else { + switch(onoff) { + case ZCURSES_ATTRON: + if (wattron(w->win, zca->number) == ERR) + ret = 1; + break; + case ZCURSES_ATTROFF: + if (wattroff(w->win, zca->number) == ERR) + ret = 1; + break; + } } } } @@ -948,14 +949,17 @@ zccmd_bg(const char *nam, char **args) if ((zca = zcurses_attrget(w->win, ptr)) == NULL) { zwarnnam(nam, "attribute `%s' not known", ptr); ret = 1; - } - switch(onoff) { - case ZCURSES_ATTRON: - ch |= zca->number; - break; - case ZCURSES_ATTROFF: - ch &= ~zca->number; - break; + } else { + switch(onoff) { + case ZCURSES_ATTRON: + if (wattron(w->win, zca->number) == ERR) + ret = 1; + break; + case ZCURSES_ATTROFF: + if (wattroff(w->win, zca->number) == ERR) + ret = 1; + break; + } } } } -- cgit 1.4.1