[Pidgin] #12387: Pidgin crashes if MSN direct connections are enabled.

Pidgin trac at pidgin.im
Mon Nov 22 17:07:49 EST 2010


#12387: Pidgin crashes if MSN direct connections are enabled.
---------------------+------------------------------------------------------
 Reporter:  superyo  |        Owner:           
     Type:  defect   |       Status:  new      
Milestone:           |    Component:  libpurple
  Version:  2.7.4    |   Resolution:           
 Keywords:           |  
---------------------+------------------------------------------------------

Comment(by darkrain42):

 The Adium ticket got updated with a relevant debug log (the last
 crash/debug log of the three).  Looking at the code, I have at least an
 idea about what's going on here.

 There are various calls to `cb` in the upnp code that really should be
 asynchronous (at least one has a comment as such).  One possibility
 (though I didn't see a code path that looked like it would cause this):

    * Port mapping fails, which calls
 `purple_network_set_upnp_port_mapping_cb`
    * `port_network_set_upnp_port_mapping_cb` calls
 `purple_upnp_remove_port_mapping` (in the `if (!success)` branch) and
 assigns the result to listen_data->mapping_data.
    * `purple_upnp_remove_port_mapping` *synchronously* calls the specified
 callback, which is run ''before'' listen_data->mapping_data is assigned
 (so listen_data->mapping data becomes a stale pointer).

 Unfortunately, my brain hurts now.

-- 
Ticket URL: <http://developer.pidgin.im/ticket/12387#comment:26>
Pidgin <http://pidgin.im>
Pidgin


More information about the Tracker mailing list