From: <ebl...@us...> - 2006-07-27 18:58:46
|
Revision: 16585 Author: eblanton Date: 2006-07-27 11:58:14 -0700 (Thu, 27 Jul 2006) ViewCVS: http://svn.sourceforge.net/gaim/?rev=16585&view=rev Log Message: ----------- A fix for the nasty libxml corruption crash in jabber, from Henning Nor?\195?\169n. Modified Paths: -------------- trunk/COPYRIGHT trunk/src/protocols/jabber/jabber.c trunk/src/protocols/jabber/jabber.h Modified: trunk/COPYRIGHT =================================================================== --- trunk/COPYRIGHT 2006-07-27 18:35:16 UTC (rev 16584) +++ trunk/COPYRIGHT 2006-07-27 18:58:14 UTC (rev 16585) @@ -195,6 +195,7 @@ Richard Nelson Dennis Nezic Matthew A. Nicholson +Henning Norén Szilard Novaki Novell Padraig O'Briain Modified: trunk/src/protocols/jabber/jabber.c =================================================================== --- trunk/src/protocols/jabber/jabber.c 2006-07-27 18:35:16 UTC (rev 16584) +++ trunk/src/protocols/jabber/jabber.c 2006-07-27 18:58:14 UTC (rev 16585) @@ -66,6 +66,7 @@ /* setup the parser fresh for each stream */ jabber_parser_setup(js); jabber_send_raw(js, open_stream, -1); + js->reinit = FALSE; g_free(open_stream); } @@ -354,6 +355,8 @@ buf[len] = '\0'; gaim_debug(GAIM_DEBUG_INFO, "jabber", "Recv (ssl)(%d): %s\n", len, buf); jabber_parser_process(js, buf, len); + if(js->reinit) + jabber_stream_init(js); } if(errno == EAGAIN) @@ -1009,7 +1012,7 @@ case JABBER_STREAM_REINITIALIZING: gaim_connection_update_progress(js->gc, _("Re-initializing Stream"), 6, JABBER_CONNECT_STEPS); - jabber_stream_init(js); + js->reinit = TRUE; break; case JABBER_STREAM_CONNECTED: jabber_roster_request(js); Modified: trunk/src/protocols/jabber/jabber.h =================================================================== --- trunk/src/protocols/jabber/jabber.h 2006-07-27 18:35:16 UTC (rev 16584) +++ trunk/src/protocols/jabber/jabber.h 2006-07-27 18:58:14 UTC (rev 16585) @@ -121,6 +121,8 @@ GaimCircBuffer *write_buffer; guint writeh; + gboolean reinit; + /* OK, this stays at the end of the struct, so plugins can depend * on the rest of the stuff being in the right place */ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |