mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2025-12-20 09:20:04 +01:00
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:
commit
1789a5b338
1 changed files with 5 additions and 5 deletions
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue