irc: fix crash in buffer close when server name is the same as a channel name (closes #305)

v2.8-utf8proc
Sébastien Helleu 2015-01-15 22:43:08 +01:00
parent c3ca9d3d9c
commit 9749b65f7e
2 changed files with 10 additions and 2 deletions

View File

@ -20,6 +20,11 @@ https://weechat.org/files/releasenotes/ReleaseNotes-devel.html[release notes]
* core: add priority in plugins to initialize them in order
* doc: add Russian man page
=== Bugs fixed
* irc: fix crash in buffer close when server name is the same as a channel name
(closes #305)
== Version 1.1 (2015-01-11)
=== New features

View File

@ -174,7 +174,7 @@ irc_channel_search_buffer (struct t_irc_server *server,
{
struct t_hdata *hdata_buffer;
struct t_gui_buffer *ptr_buffer;
const char *ptr_server_name, *ptr_channel_name;
const char *ptr_type, *ptr_server_name, *ptr_channel_name;
hdata_buffer = weechat_hdata_get ("buffer");
ptr_buffer = weechat_hdata_get_list (hdata_buffer, "gui_buffers");
@ -184,12 +184,15 @@ irc_channel_search_buffer (struct t_irc_server *server,
if (weechat_buffer_get_pointer (ptr_buffer,
"plugin") == weechat_irc_plugin)
{
ptr_type = weechat_buffer_get_string (ptr_buffer, "localvar_type");
ptr_server_name = weechat_buffer_get_string (ptr_buffer,
"localvar_server");
ptr_channel_name = weechat_buffer_get_string (ptr_buffer,
"localvar_channel");
if (ptr_server_name && ptr_server_name[0]
if (ptr_type && ptr_type[0]
&& ptr_server_name && ptr_server_name[0]
&& ptr_channel_name && ptr_channel_name[0]
&& (strcmp (ptr_type, "channel") == 0)
&& (strcmp (ptr_server_name, server->name) == 0)
&& ((irc_server_strcasecmp (server, ptr_channel_name,
channel_name) == 0)))