diff options
author | Elliott Sales de Andrade <qulogic@pidgin.im> | 2010-09-03 07:24:29 +0000 |
---|---|---|
committer | Elliott Sales de Andrade <qulogic@pidgin.im> | 2010-09-03 07:24:29 +0000 |
commit | 57be1af4db93a1f116425e4e8dfdbdc07298526a (patch) | |
tree | baaae4478396f0098f19be35038429c849265d0f /libpurple/network.c | |
parent | 96b71c973cc4d652b7ddf48e4438383fff6c1af3 (diff) | |
download | pidgin-57be1af4db93a1f116425e4e8dfdbdc07298526a.tar.gz |
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.
Diffstat (limited to 'libpurple/network.c')
-rw-r--r-- | libpurple/network.c | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/libpurple/network.c b/libpurple/network.c index 0ceff6509f..636cf59d6e 100644 --- a/libpurple/network.c +++ b/libpurple/network.c @@ -1077,12 +1077,10 @@ purple_network_remove_port_mapping(gint fd) 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); } } } |