diff options
author | Sebastien Helleu <flashcode@flashtux.org> | 2010-10-31 18:19:53 +0100 |
---|---|---|
committer | Sebastien Helleu <flashcode@flashtux.org> | 2010-10-31 18:19:53 +0100 |
commit | 90589b2d717cff5da6314ed38876e2517f038c22 (patch) | |
tree | aa7816ad93707a386ef2195aeb90723050807f40 /src/gui | |
parent | 911f90e792f22989c5b41970def0302fa806d68b (diff) | |
download | weechat-90589b2d717cff5da6314ed38876e2517f038c22.zip |
Add extra checks on some pointers
Diffstat (limited to 'src/gui')
-rw-r--r-- | src/gui/gui-bar-item.c | 5 | ||||
-rw-r--r-- | src/gui/gui-chat.c | 2 | ||||
-rw-r--r-- | src/gui/gui-completion.c | 12 | ||||
-rw-r--r-- | src/gui/gui-window.c | 11 |
4 files changed, 20 insertions, 10 deletions
diff --git a/src/gui/gui-bar-item.c b/src/gui/gui-bar-item.c index e323e73c8..4be221727 100644 --- a/src/gui/gui-bar-item.c +++ b/src/gui/gui-bar-item.c @@ -296,6 +296,9 @@ gui_bar_item_get_value (const char *name, struct t_gui_bar *bar, struct t_gui_bar_item *ptr_item; struct t_weechat_plugin *ptr_plugin; + if (!name) + return NULL; + start = NULL; end = NULL; prefix = NULL; @@ -303,7 +306,7 @@ gui_bar_item_get_value (const char *name, struct t_gui_bar *bar, suffix = NULL; ptr = name; - while (ptr && ptr[0]) + while (ptr[0]) { valid_char = gui_bar_item_valid_char_name (ptr[0]); if (!start && valid_char) diff --git a/src/gui/gui-chat.c b/src/gui/gui-chat.c index a14d9255a..c2568271a 100644 --- a/src/gui/gui-chat.c +++ b/src/gui/gui-chat.c @@ -581,7 +581,7 @@ gui_chat_printf_date_tags (struct t_gui_buffer *buffer, time_t date, tags, pos_prefix, ptr_msg); if (ptr_line) { - if (buffer->print_hooks_enabled) + if (buffer && buffer->print_hooks_enabled) hook_print_exec (buffer, ptr_line); if (ptr_line->data->displayed) at_least_one_message_printed = 1; diff --git a/src/gui/gui-completion.c b/src/gui/gui-completion.c index a76331f67..7cf125d21 100644 --- a/src/gui/gui-completion.c +++ b/src/gui/gui-completion.c @@ -1977,10 +1977,14 @@ gui_completion_complete (struct t_gui_completion *completion) NULL); } - if (completion->direction < 0) - ptr_item = completion->completion_list->last_item; - else - ptr_item = completion->completion_list->items; + ptr_item = NULL; + if (completion->completion_list) + { + if (completion->direction < 0) + ptr_item = completion->completion_list->last_item; + else + ptr_item = completion->completion_list->items; + } if (partial_completion && completion->word_found diff --git a/src/gui/gui-window.c b/src/gui/gui-window.c index 72d1ecc0d..820d3b12a 100644 --- a/src/gui/gui-window.c +++ b/src/gui/gui-window.c @@ -598,10 +598,13 @@ gui_window_scroll (struct t_gui_window *window, char *scroll) ptr_line = ptr_line->next_line; } } - - old_date = ptr_line->data->date; - date_tmp = localtime (&old_date); - memcpy (&old_line_date, date_tmp, sizeof (struct tm)); + + if (ptr_line) + { + old_date = ptr_line->data->date; + date_tmp = localtime (&old_date); + memcpy (&old_line_date, date_tmp, sizeof (struct tm)); + } while (ptr_line) { |