NetworkManager/src/settings
Thomas Haller 31daa2cfbd core: fix assertion when comparing missing hwaddr while searching connection for device
A device (e.g. of type tun) might not have a hwaddr. Avoid the assertion
in nm_utils_hwaddr_matches().

Backtrace:

    #0  0x00007fd0920444e9 in g_logv (log_domain=0x5a5be3 "libnm", log_level=G_LOG_LEVEL_CRITICAL, format=<optimized out>, args=args@entry=0x7fff2551e590) at gmessages.c:989
    #1  0x00007fd09204463f in g_log (log_domain=<optimized out>, log_level=<optimized out>, format=<optimized out>) at gmessages.c:1025
    #2  0x0000000000555d31 in nm_utils_hwaddr_matches (hwaddr1=0x7fff2551e6a0, hwaddr1_len=6, hwaddr2=0x0, hwaddr2_len=-1) at ../libnm-core/nm-utils.c:2414
    #3  0x000000000049e7a0 in have_connection_for_device (self=0x7fd084008710, device=0x168e5c0) at settings/nm-settings.c:1513
    #4  0x000000000049e23d in nm_settings_device_added (self=0x7fd084008710, device=0x168e5c0) at settings/nm-settings.c:1599
    #5  0x00000000004e6447 in add_device (self=0x1654150, device=0x168e5c0, try_assume=1) at nm-manager.c:1840
    #6  0x00000000004e8fb6 in platform_link_added (self=0x1654150, ifindex=6, plink=0x165c328, reason=NM_PLATFORM_REASON_INTERNAL) at nm-manager.c:2163
    #7  0x00000000004e3252 in platform_link_cb (platform=0x15b1870, ifindex=6, plink=0x165c328, change_type=NM_PLATFORM_SIGNAL_ADDED, reason=NM_PLATFORM_REASON_INTERNAL, user_data=0x1654150) at nm-manager.c:2178
    #8  0x000000381dc05d8c in ffi_call_unix64 () at ../src/x86/unix64.S:76
    #9  0x000000381dc056bc in ffi_call (cif=cif@entry=0x7fff2551ed00, fn=0x4e31e0 <platform_link_cb>, rvalue=0x7fff2551ec70, avalue=avalue@entry=0x7fff2551ebf0) at ../src/x86/ffi64.c:522
    #10 0x00007fd092331ad8 in g_cclosure_marshal_generic (closure=0x1607710, return_gvalue=0x0, n_param_values=<optimized out>, param_values=<optimized out>, invocation_hint=<optimized out>, marshal_data=0x0) at gclosure.c:1454
    #11 0x00007fd092331298 in g_closure_invoke (closure=0x1607710, return_value=return_value@entry=0x0, n_param_values=5, param_values=param_values@entry=0x7fff2551ef00, invocation_hint=invocation_hint@entry=0x7fff2551eea0)
        at gclosure.c:777
    #12 0x00007fd09234335d in signal_emit_unlocked_R (node=node@entry=0x15b03a0, detail=detail@entry=0, instance=instance@entry=0x15b1870, emission_return=emission_return@entry=0x0,
        instance_and_params=instance_and_params@entry=0x7fff2551ef00) at gsignal.c:3586
    #13 0x00007fd09234b0f2 in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7fff2551f0e0) at gsignal.c:3330
    #14 0x00007fd09234b3af in g_signal_emit (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>) at gsignal.c:3386
    #15 0x000000000048353d in nm_platform_query_devices () at platform/nm-platform.c:345
    #16 0x00000000004e12d2 in nm_manager_start (self=0x1654150) at nm-manager.c:4170
    #17 0x000000000044349a in main (argc=1, argv=0x7fff2551f938) at main.c:661

Fixes: b019348fdd
Signed-off-by: Thomas Haller <thaller@redhat.com>
2014-09-30 12:02:15 +02:00
..
plugins ifcfg-rh: fix handling VLAN connections as bond/bridge slaves (bgo #737377) 2014-09-26 10:11:52 +02:00
nm-agent-manager.c auth: rework polkit autorization to use DBUS interface directly 2014-09-29 13:51:11 +02:00
nm-agent-manager.h all: fix up multiple-include-guard defines 2014-08-16 10:17:14 -04:00
nm-inotify-helper.c libnm-glib, core: use g_cclosure_marshal_generic 2013-05-08 14:59:29 -04:00
nm-inotify-helper.h settings: add note about killing inotify helper (bgo #532815) 2013-01-11 13:02:12 -06:00
nm-secret-agent.c auth: rework polkit autorization to use DBUS interface directly 2014-09-29 13:51:11 +02:00
nm-secret-agent.h all: remove a bunch of unnecessary dbus/dbus-glib includes 2014-09-03 10:45:24 -04:00
nm-settings-connection.c auth: rework polkit autorization to use DBUS interface directly 2014-09-29 13:51:11 +02:00
nm-settings-connection.h core: add "nm-generated-assumed" flag to NMSettingsConnection 2014-09-24 16:32:11 +02:00
nm-settings-error.c Use glib-mkenums to generate enum types 2012-02-15 11:42:15 -05:00
nm-settings-error.h all: fix up multiple-include-guard defines 2014-08-16 10:17:14 -04:00
nm-settings.c core: fix assertion when comparing missing hwaddr while searching connection for device 2014-09-30 12:02:15 +02:00
nm-settings.h core: fill in nm-types.h, clean out other headers 2014-07-23 10:56:26 -04:00
nm-system-config-interface.c core: fill in nm-types.h, clean out other headers 2014-07-23 10:56:26 -04:00
nm-system-config-interface.h all: fix up multiple-include-guard defines 2014-08-16 10:17:14 -04:00