libnm: fix crash in _nm_ip_route_validate_all for invalid route
backtrace from coredump, NetworkManager-1.30.6-1.fc34
#0 verify
(setting=0x55d081fe8690, connection=<optimized out>, error=0x7ffe0fa06870)
at libnm-core/nm-setting-ip-config.c:5249
#1 0x000055d081ab98d4 in verify
(setting=0x55d081fe8690, connection=0x55d0820a2b80, error=0x7ffe0fa06870)
at libnm-core/nm-setting-ip4-config.c:119
#2 0x000055d081aa3d54 in _nm_connection_verify
(connection=0x55d0820a2b80, error=0x7ffe0fa068c0)
at libnm-core/nm-connection.c:1441
#3 0x000055d081aa78ec in nm_connection_normalize
(connection=0x55d0820a2b80, parameters=0x0, modified=0x0, error=0x7ffe0fa06de8)
at libnm-core/nm-connection.c:1688
#4 0x000055d081aa81f4 in _nm_connection_replace_settings
(connection=0x55d0820a2b80, new_settings=<optimized out>, parse_flags=_NM_SETTING_PARSE_FLAGS_LAST, error=0x7ffe0fa06de8) at libnm-core/nm-connection.c:432
#5 0x000055d081aa83a6 in _nm_simple_connection_new_from_dbus
(dict=0x55d082089950, error=0x7ffe0fa06de8, parse_flags=_NM_SETTING_PARSE_FLAGS_LAST) at libnm-core/nm-simple-connection.c:77
#6 0x000055d081bbf942 in settings_connection_update
(self=0x55d081fdd9f0, is_update2=1, context=0x7fc06c021dd0, new_settings=0x55d082089950, flags=NM_SETTINGS_UPDATE2_FLAG_TO_DISK)
at src/core/settings/nm-settings-connection.c:1637
#7 0x000055d081bbfb09 in impl_settings_connection_update2
(obj=0x55d081fdd9f0, interface_info=<optimized out>, method_info=<optimized out>, connection=<optimized out>, sender=<optimized out>, invocation=0x7fc06c021dd0, parameters=0x55d0820f5e60) at src/core/settings/nm-settings-connection.c:1796
#8 0x00007fc08a9db482 in call_in_idle_cb.lto_priv () at /lib64/libgio-2.0.so.0
Fixes: bb6c2d7371
('libnm: ensure stable behavior in _nm_ip_route_attribute_validate_all()')
This commit is contained in:

committed by
Thomas Haller

parent
fc220f94af
commit
0ed099374d
@@ -1440,7 +1440,7 @@ _nm_ip_route_attribute_validate_all(const NMIPRoute *route, GError **error)
|
||||
const char *key = attrs[i].name;
|
||||
GVariant * val2 = attrs[i].value_ptr;
|
||||
|
||||
if (!nm_ip_route_attribute_validate(key, val2, route->family, NULL, NULL))
|
||||
if (!nm_ip_route_attribute_validate(key, val2, route->family, NULL, error))
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user