From 4d3e76eb3e1523127f8bfcc04be958fc70dbc6e9 Mon Sep 17 00:00:00 2001 From: Sebastien Helleu Date: Thu, 27 Jan 2005 00:11:06 +0000 Subject: [PATCH] Fixed bug in message parser when connected to many servers --- ChangeLog | 3 ++- src/irc/irc-server.c | 4 +++- weechat/ChangeLog | 3 ++- weechat/src/irc/irc-server.c | 4 +++- 4 files changed, 10 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 84c4eb7b3..15621b2cb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,7 +1,7 @@ WeeChat - Wee Enhanced Environment for Chat =========================================== -ChangeLog - 2005-01-26 +ChangeLog - 2005-01-27 Version 0.1.0 (under dev!): @@ -13,6 +13,7 @@ Version 0.1.0 (under dev!): complete command arg for example) * fixed colors bug: removed "gray" color (replaced by "default"), colors are ok when terminal has white (or light) background + * fixed crash when multiple servers and big messages received from server * fixed crash when closing some private buffers * fixed crash when unknown section with option(s) in config file * improved /set command: empty strings are allowed, new colors, server diff --git a/src/irc/irc-server.c b/src/irc/irc-server.c index 8ad22e8b5..1581bf931 100644 --- a/src/irc/irc-server.c +++ b/src/irc/irc-server.c @@ -832,12 +832,14 @@ server_disconnect (t_irc_server *server, int reconnect) close (server->server_write); server->server_write = -1; - if (server->sock4 >= 0) close (server->sock4); server->sock4 = -1; + if (server->unterminated_message) + free (server->unterminated_message); server->unterminated_message = NULL; + server->is_connected = 0; server->is_away = 0; server->away_time = 0; diff --git a/weechat/ChangeLog b/weechat/ChangeLog index 84c4eb7b3..15621b2cb 100644 --- a/weechat/ChangeLog +++ b/weechat/ChangeLog @@ -1,7 +1,7 @@ WeeChat - Wee Enhanced Environment for Chat =========================================== -ChangeLog - 2005-01-26 +ChangeLog - 2005-01-27 Version 0.1.0 (under dev!): @@ -13,6 +13,7 @@ Version 0.1.0 (under dev!): complete command arg for example) * fixed colors bug: removed "gray" color (replaced by "default"), colors are ok when terminal has white (or light) background + * fixed crash when multiple servers and big messages received from server * fixed crash when closing some private buffers * fixed crash when unknown section with option(s) in config file * improved /set command: empty strings are allowed, new colors, server diff --git a/weechat/src/irc/irc-server.c b/weechat/src/irc/irc-server.c index 8ad22e8b5..1581bf931 100644 --- a/weechat/src/irc/irc-server.c +++ b/weechat/src/irc/irc-server.c @@ -832,12 +832,14 @@ server_disconnect (t_irc_server *server, int reconnect) close (server->server_write); server->server_write = -1; - if (server->sock4 >= 0) close (server->sock4); server->sock4 = -1; + if (server->unterminated_message) + free (server->unterminated_message); server->unterminated_message = NULL; + server->is_connected = 0; server->is_away = 0; server->away_time = 0;