pidgin: c7f2cce4: protocol is the *value*, not the *key*. ...
qulogic at pidgin.im
qulogic at pidgin.im
Fri Sep 3 03:36:56 EDT 2010
----------------------------------------------------------------------
Revision: c7f2cce48dfe465889b7803de44156e7e89e41e0
Parent: 96ec18bb9a2518741092b9c5ae584ce2f3c53d97
Author: qulogic at pidgin.im
Date: 09/03/10 03:24:29
Branch: im.pidgin.pidgin
URL: http://d.pidgin.im/viewmtn/revision/info/c7f2cce48dfe465889b7803de44156e7e89e41e0
Changelog:
protocol is the *value*, not the *key*. Thus, we really shouldn't be
attempting to remove it from the hash table. Especially because we
just removed the corresponding key, thus invalidating this pointer.
Fixes #12387.
Changes against parent 96ec18bb9a2518741092b9c5ae584ce2f3c53d97
patched libpurple/network.c
-------------- next part --------------
============================================================
--- libpurple/network.c 8c70d2a63b2c464b174ff8cc768e43a6bff9c4cb
+++ libpurple/network.c 040edad982c3770eb34822415ad9341218f66fa8
@@ -1077,12 +1077,10 @@ purple_network_remove_port_mapping(gint
if (protocol) {
purple_network_upnp_mapping_remove(&port, protocol, NULL);
- g_hash_table_remove(upnp_port_mappings, protocol);
} else {
protocol = g_hash_table_lookup(nat_pmp_port_mappings, &port);
if (protocol) {
purple_network_nat_pmp_mapping_remove(&port, protocol, NULL);
- g_hash_table_remove(nat_pmp_port_mappings, protocol);
}
}
}
More information about the Commits
mailing list