merge: branch 'ih/ip-reservation-use-after-free'

core: fix potential use after free

https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/2280
This commit is contained in:
Íñigo Huguet 2025-09-11 09:47:40 +00:00
commit 1789a5b338

View file

@ -703,16 +703,16 @@ nm_netns_ip_reservation_release(NMNetnsIPReservation *res)
if (!g_hash_table_remove(*table, res)) if (!g_hash_table_remove(*table, res))
nm_assert_not_reached(); nm_assert_not_reached();
if (g_hash_table_size(*table) == 0) {
nm_clear_pointer(table, g_hash_table_unref);
g_object_unref(self);
}
_LOGD("%s: release IP address reservation %s/%u", _LOGD("%s: release IP address reservation %s/%u",
desc->name, desc->name,
nm_inet4_ntop(res->addr, buf), nm_inet4_ntop(res->addr, buf),
desc->prefix_len); desc->prefix_len);
if (g_hash_table_size(*table) == 0) {
nm_clear_pointer(table, g_hash_table_unref);
g_object_unref(self);
}
res->_self = NULL; res->_self = NULL;
nm_g_slice_free(res); nm_g_slice_free(res);
} }