pidgin.2.7.2: 95f0a786: Now we're cooking with the midnight oil!

markdoliner at pidgin.im markdoliner at pidgin.im
Tue Jul 20 23:56:02 EDT 2010


----------------------------------------------------------------------
Revision: 95f0a786aa0e2f24b4033c941a811b8e2be5222e
Parent:   3cc45f857143e10629b750ef6507d4bb730e07f2
Author:   markdoliner at pidgin.im
Date:     07/20/10 23:49:49
Branch:   im.pidgin.pidgin.2.7.2
URL: http://d.pidgin.im/viewmtn/revision/info/95f0a786aa0e2f24b4033c941a811b8e2be5222e

Changelog: 

Now we're cooking with the midnight oil!

*** Plucked rev ab6bb200fc9274b04542f7161ebc2f03db5b1585 (qulogic at pidgin.im):
Destroy a DC if its corresponding slpcall is going away and it hasn't
established itself yet. Otherwise, it might timeout later and try to
access the old slpcall.

Fixes #12072.


Changes against parent 3cc45f857143e10629b750ef6507d4bb730e07f2

  patched  ChangeLog
  patched  NEWS
  patched  libpurple/protocols/msn/slplink.c

-------------- next part --------------
============================================================
--- ChangeLog	ce95ac6287d696b05861ed361b58b84d8efd8a9c
+++ ChangeLog	47a010926b061b2c381c8fa5caf2d7b8794a8162
@@ -9,6 +9,9 @@ version 2.7.2 (07/21/2010):
 	* Change HTML sent from ICQ accounts so that official ICQ clients
 	  hopefully display it correctly.
 
+	MSN:
+	* Fix a crash related to fast buddy icon transfers.
+
 version 2.7.1 (05/29/2010):
 	General:
 	* Build fixes on OpenSolaris.  (Brian Lu)
============================================================
--- NEWS	4e31b1bd8533063078fea43e6f6c6db681e313f1
+++ NEWS	d2c3c443ffb006ee64292079ebec55494a8ff926
@@ -5,7 +5,7 @@ 2.7.2 (07/21/2010):
 2.7.2 (07/21/2010):
 	Mark: We discovered a security issue in Pidgin 2.7.0 and 2.7.1 and
 	decided to release a patched version quickly.  This release contains
-	the fix for that crash, and two other minor fixes.
+	the fix for that crash, and a few other minor fixes.
 
 2.7.1 (05/29/2010):
 	Elliott: Hey, I'm first!  How did that happen?!  Maybe because of the
============================================================
--- libpurple/protocols/msn/slplink.c	a5fe1987fa202665700e8e8c0585d2ff121e39d8
+++ libpurple/protocols/msn/slplink.c	1f9104a14bb53e520506da7d1fc5c571306dba7a
@@ -214,11 +214,16 @@ msn_slplink_remove_slpcall(MsnSlpLink *s
 		slplink->swboard = NULL;
 	}
 
-	/* The slplink has no slpcalls in it, release it from the DC. */
-	if (slplink->slp_calls == NULL && slplink->dc != NULL) {
-		slplink->dc->slplink = NULL;
-		msn_dc_destroy(slplink->dc);
-		slplink->dc = NULL;
+	if (slplink->dc != NULL) {
+		if ((slplink->dc->state != DC_STATE_ESTABLISHED && slplink->dc->slpcall == slpcall)
+		 || (slplink->slp_calls == NULL)) {
+			/* The DC is not established and its corresponding slpcall is dead,
+			 * or the slplink has no slpcalls in it and no longer needs the DC.
+			 */
+			slplink->dc->slplink = NULL;
+			msn_dc_destroy(slplink->dc);
+			slplink->dc = NULL;
+		}
 	}
 }
 


More information about the Commits mailing list