summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastien Helleu <flashcode@flashtux.org>2006-01-07 23:44:19 +0000
committerSebastien Helleu <flashcode@flashtux.org>2006-01-07 23:44:19 +0000
commit978efc0d4f050fa987da1d0f19eb462a21594250 (patch)
treeff3b25509a886515ba1936345bb22781278154b8
parentb409b42470cee9d5f3e218d3353abbc95f5fcf1e (diff)
downloadweechat-978efc0d4f050fa987da1d0f19eb462a21594250.zip
Secured some code with color management in messages
-rw-r--r--src/gui/curses/gui-display.c12
-rw-r--r--weechat/src/gui/curses/gui-display.c12
2 files changed, 18 insertions, 6 deletions
diff --git a/src/gui/curses/gui-display.c b/src/gui/curses/gui-display.c
index baa08a581..f9c5e9303 100644
--- a/src/gui/curses/gui-display.c
+++ b/src/gui/curses/gui-display.c
@@ -465,6 +465,9 @@ gui_color_get_pair (int num_color)
{
int fg, bg;
+ if ((num_color < 0) || (num_color > NUM_COLORS - 1))
+ return WEECHAT_COLOR_WHITE;
+
fg = gui_color[num_color]->foreground;
bg = gui_color[num_color]->background;
@@ -486,9 +489,12 @@ gui_color_get_pair (int num_color)
void
gui_window_set_weechat_color (WINDOW *window, int num_color)
{
- wattroff (window, A_BOLD | A_UNDERLINE | A_REVERSE);
- wattron (window, COLOR_PAIR(gui_color_get_pair (num_color)) |
- gui_color[num_color]->attributes);
+ if ((num_color >= 0) && (num_color <= NUM_COLORS - 1))
+ {
+ wattroff (window, A_BOLD | A_UNDERLINE | A_REVERSE);
+ wattron (window, COLOR_PAIR(gui_color_get_pair (num_color)) |
+ gui_color[num_color]->attributes);
+ }
}
/*
diff --git a/weechat/src/gui/curses/gui-display.c b/weechat/src/gui/curses/gui-display.c
index baa08a581..f9c5e9303 100644
--- a/weechat/src/gui/curses/gui-display.c
+++ b/weechat/src/gui/curses/gui-display.c
@@ -465,6 +465,9 @@ gui_color_get_pair (int num_color)
{
int fg, bg;
+ if ((num_color < 0) || (num_color > NUM_COLORS - 1))
+ return WEECHAT_COLOR_WHITE;
+
fg = gui_color[num_color]->foreground;
bg = gui_color[num_color]->background;
@@ -486,9 +489,12 @@ gui_color_get_pair (int num_color)
void
gui_window_set_weechat_color (WINDOW *window, int num_color)
{
- wattroff (window, A_BOLD | A_UNDERLINE | A_REVERSE);
- wattron (window, COLOR_PAIR(gui_color_get_pair (num_color)) |
- gui_color[num_color]->attributes);
+ if ((num_color >= 0) && (num_color <= NUM_COLORS - 1))
+ {
+ wattroff (window, A_BOLD | A_UNDERLINE | A_REVERSE);
+ wattron (window, COLOR_PAIR(gui_color_get_pair (num_color)) |
+ gui_color[num_color]->attributes);
+ }
}
/*