mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2026-05-07 16:38:32 +02:00
device: fix assertion failure caused by DAD array reuse
This commit fixes an assertion failure caused by the `conflicts` array being reused when both IPv4 and IPv6 duplicate address detection occurs. https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/1747 Fixes:afa208c862('core: return conflicting addresses from nm_l3cfg_check_ready()') (cherry picked from commitaa84b5f935)
This commit is contained in:
parent
2449f29e45
commit
e4c583e333
1 changed files with 2 additions and 2 deletions
|
|
@ -10362,7 +10362,6 @@ _dev_ipmanual_check_ready(NMDevice *self)
|
||||||
gboolean has_carrier;
|
gboolean has_carrier;
|
||||||
NML3CfgCheckReadyFlags flags;
|
NML3CfgCheckReadyFlags flags;
|
||||||
gboolean ready;
|
gboolean ready;
|
||||||
gs_unref_array GArray *conflicts = NULL;
|
|
||||||
int IS_IPv4;
|
int IS_IPv4;
|
||||||
|
|
||||||
if (priv->ipmanual_data.state_4 != NM_DEVICE_IP_STATE_PENDING
|
if (priv->ipmanual_data.state_4 != NM_DEVICE_IP_STATE_PENDING
|
||||||
|
|
@ -10396,7 +10395,8 @@ _dev_ipmanual_check_ready(NMDevice *self)
|
||||||
flags |= NM_L3CFG_CHECK_READY_FLAGS_IP6_DAD_READY;
|
flags |= NM_L3CFG_CHECK_READY_FLAGS_IP6_DAD_READY;
|
||||||
|
|
||||||
for (IS_IPv4 = 0; IS_IPv4 < 2; IS_IPv4++) {
|
for (IS_IPv4 = 0; IS_IPv4 < 2; IS_IPv4++) {
|
||||||
const int addr_family = IS_IPv4 ? AF_INET : AF_INET6;
|
const int addr_family = IS_IPv4 ? AF_INET : AF_INET6;
|
||||||
|
gs_unref_array GArray *conflicts = NULL;
|
||||||
|
|
||||||
ready = nm_l3cfg_check_ready(priv->l3cfg,
|
ready = nm_l3cfg_check_ready(priv->l3cfg,
|
||||||
priv->l3cds[L3_CONFIG_DATA_TYPE_MANUALIP].d,
|
priv->l3cds[L3_CONFIG_DATA_TYPE_MANUALIP].d,
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue