NetworkManager/clients/tui
Thomas Haller 40fcf67a84 tui: fix crash creating Wi-Fi connection
When adding a new Wi-Fi connection, nmtui crashes.
Usually, a verified Wi-Fi connection always has key_mgnt set.
However, the client doesn't have the luxury to assume that all
connections verify. Especially, while creating a new connection.

    #0  0x00007ffff4fe5baa in __strcmp_sse2_unaligned () at ../sysdeps/x86_64/multiarch/strcmp-sse2-unaligned.S:31
    #1  0x000055555556654c in get_security_type (binding=0x5555557d1cf0) at clients/tui/nm-editor-bindings.c:591
    #2  0x000055555556593b in wireless_security_changed (object=0x0, pspec=0x0, user_data=0x5555557d1cf0) at clients/tui/nm-editor-bindings.c:628
    #3  0x000055555556536d in nm_editor_bind_wireless_security_method (connection=0x5555558028e0, s_wsec=0x555555892eb0 [NMSettingWirelessSecurity], target=0x555555935e10, target_property=0x55555559311b "active-id", flags=(G_BINDING_BIDIRECTIONAL | G_BINDING_SYNC_CREATE)) at clients/tui/nm-editor-bindings.c:796
    #4  0x000055555557a3aa in nmt_page_wifi_constructed (object=0x5555559349e0 [NmtPageWifi]) at clients/tui/nmt-page-wifi.c:338
    #5  0x00007ffff5e6b670 in g_object_new_internal (class=class@entry=0x5555557c14c0, params=params@entry=0x7fffffffc440, n_params=n_params@entry=2) at gobject.c:1823
    #6  0x00007ffff5e6d24d in g_object_new_valist (object_type=object_type@entry=93824994775616, first_property_name=first_property_name@entry=0x5555555920c6 "connection", var_args=var_args@entry=0x7fffffffc590) at gobject.c:2042
    #7  0x00007ffff5e6d691 in g_object_new (object_type=93824994775616, first_property_name=0x5555555920c6 "connection") at gobject.c:1626
    #8  0x000055555557985a in nmt_page_wifi_new (conn=0x5555558028e0, deventry=0x5555557d15e0 [NmtDeviceEntry]) at clients/tui/nmt-page-wifi.c:45
    #9  0x000055555556f7e2 in nmt_editor_constructed (object=0x555555922af0 [NmtEditor]) at clients/tui/nmt-editor.c:374
    #10 0x00007ffff5e6b670 in g_object_new_internal (class=class@entry=0x555555932750, params=params@entry=0x7fffffffcac0, n_params=n_params@entry=4) at gobject.c:1823
    #11 0x00007ffff5e6d24d in g_object_new_valist (object_type=object_type@entry=93824996288016, first_property_name=first_property_name@entry=0x5555555920c6 "connection", var_args=var_args@entry=0x7fffffffcc10) at gobject.c:2042
    #12 0x00007ffff5e6d691 in g_object_new (object_type=93824996288016, first_property_name=0x5555555920c6 "connection") at gobject.c:1626
    #13 0x000055555556f261 in nmt_editor_new (connection=0x555555802880) at clients/tui/nmt-editor.c:109
    #14 0x0000555555562b35 in nmt_edit_connection (connection=0x555555802880) at clients/tui/nmtui-edit.c:448
    #15 0x0000555555563a29 in create_connection (widget=0x55555588b150 [NmtNewtListbox], list=0x555555922a00) at clients/tui/nmtui-edit.c:185
    #16 0x0000555555563a5d in create_connection_and_quit (widget=0x55555588b150 [NmtNewtListbox], list=0x555555922a00) at clients/tui/nmtui-edit.c:192
    #20 0x00007ffff5e81b0f in <emit signal ??? on instance 0x55555588b150 [NmtNewtListbox]> (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>) at gsignal.c:3447
        #17 0x00007ffff5e6630d in g_closure_invoke (closure=0x555555929260, return_value=0x0, n_param_values=1, param_values=0x7fffffffcfe0, invocation_hint=0x7fffffffcf60) at gclosure.c:804
        #18 0x00007ffff5e7898e in signal_emit_unlocked_R (node=node@entry=0x55555582ac70, detail=detail@entry=0, instance=instance@entry=0x55555588b150, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7fffffffcfe0) at gsignal.c:3635
        #19 0x00007ffff5e811a5 in g_signal_emit_valist (instance=0x55555588b150, signal_id=<optimized out>, detail=0, var_args=var_args@entry=0x7fffffffd1b0) at gsignal.c:3391
    #21 0x000055555558e43f in nmt_newt_widget_activated (widget=0x55555588b150 [NmtNewtListbox]) at clients/tui/newt/nmt-newt-widget.c:329
    #22 0x0000555555584fc8 in nmt_newt_form_iterate (form=0x555555922a00 [NmtAddConnection]) at clients/tui/newt/nmt-newt-form.c:309
    #23 0x0000555555585d62 in nmt_newt_form_keypress_callback (fd=1435623072, condition=G_IO_IN, user_data=0x0) at clients/tui/newt/nmt-newt-form.c:335
    #24 0x00007ffff598a247 in g_main_dispatch (context=0x5555557c3af0) at gmain.c:3234
    #25 0x00007ffff598a247 in g_main_context_dispatch (context=context@entry=0x5555557c3af0) at gmain.c:3899
    #26 0x00007ffff598a5e8 in g_main_context_iterate (context=0x5555557c3af0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3972
    #27 0x00007ffff598a902 in g_main_loop_run (loop=0x55555591b190) at gmain.c:4168
    #28 0x00005555555609b5 in main (argc=1, argv=0x7fffffffd5e8) at clients/tui/nmtui.c:298

Fixes: 6a4af482f0
2017-10-11 15:48:47 +02:00
..
newt tui: extend numeric range of NmtNewtEntryNumeric to gint64 2017-09-05 19:27:19 +02:00
nm-editor-bindings.c tui: fix crash creating Wi-Fi connection 2017-10-11 15:48:47 +02:00
nm-editor-bindings.h include: use double-quotes to include our own headers 2017-03-09 14:12:35 +01:00
nm-editor-utils.c all: use "unsigned" instead of "unsigned int" 2017-03-14 11:26:29 +01:00
nm-editor-utils.h include: use double-quotes to include our own headers 2017-03-09 14:12:35 +01:00
nmt-address-list.c all: cleanup includes and let "nm-default.h" include "config.h" 2016-02-19 17:53:25 +01:00
nmt-address-list.h all: cleanup includes in header files 2016-08-17 19:51:17 +02:00
nmt-connect-connection-list.c tui: use nm_streq0() in nmt_connect_connection_list_get_connection() 2017-05-30 14:33:23 +02:00
nmt-connect-connection-list.h all: cleanup includes in header files 2016-08-17 19:51:17 +02:00
nmt-device-entry.c all: use nm_utils_is_valid_iface_name() 2017-01-06 15:11:56 +01:00
nmt-device-entry.h include: use double-quotes to include our own headers 2017-03-09 14:12:35 +01:00
nmt-edit-connection-list.c tui/edit-connection-list: add routine to recommit connections in a list 2017-02-27 11:16:45 +01:00
nmt-edit-connection-list.h include: use double-quotes to include our own headers 2017-03-09 14:12:35 +01:00
nmt-editor-grid.c all: cleanup includes and let "nm-default.h" include "config.h" 2016-02-19 17:53:25 +01:00
nmt-editor-grid.h all: cleanup includes in header files 2016-08-17 19:51:17 +02:00
nmt-editor-page-device.c all: cleanup includes and let "nm-default.h" include "config.h" 2016-02-19 17:53:25 +01:00
nmt-editor-page-device.h all: cleanup includes in header files 2016-08-17 19:51:17 +02:00
nmt-editor-page.c tui/editor: notify the pages after the connection is saved 2017-02-27 11:17:39 +01:00
nmt-editor-page.h include: use double-quotes to include our own headers 2017-03-09 14:12:35 +01:00
nmt-editor-section.c all: cleanup includes and let "nm-default.h" include "config.h" 2016-02-19 17:53:25 +01:00
nmt-editor-section.h all: cleanup includes in header files 2016-08-17 19:51:17 +02:00
nmt-editor.c tui/editor: notify the pages after the connection is saved 2017-02-27 11:17:39 +01:00
nmt-editor.h include: use double-quotes to include our own headers 2017-03-09 14:12:35 +01:00
nmt-ip-entry.c shared: pass addr_family as first argument to nm_utils_parse_inaddr*() 2017-10-06 11:08:39 +02:00
nmt-ip-entry.h all: cleanup includes in header files 2016-08-17 19:51:17 +02:00
nmt-mac-entry.c libnm: fix regression serializing empty "cloned-mac-address" 2016-09-06 16:11:23 +02:00
nmt-mac-entry.h all: cleanup includes in header files 2016-08-17 19:51:17 +02:00
nmt-mtu-entry.c all: cleanup includes and let "nm-default.h" include "config.h" 2016-02-19 17:53:25 +01:00
nmt-mtu-entry.h all: cleanup includes in header files 2016-08-17 19:51:17 +02:00
nmt-page-bond.c nmtui: add support for cloned mac in bond interfaces 2017-05-28 23:22:55 +02:00
nmt-page-bond.h all: cleanup includes in header files 2016-08-17 19:51:17 +02:00
nmt-page-bridge-port.c all: cleanup includes and let "nm-default.h" include "config.h" 2016-02-19 17:53:25 +01:00
nmt-page-bridge-port.h all: cleanup includes in header files 2016-08-17 19:51:17 +02:00
nmt-page-bridge.c tui: recommit bond, bridge and team slaves on master save 2017-02-27 11:17:39 +01:00
nmt-page-bridge.h all: cleanup includes in header files 2016-08-17 19:51:17 +02:00
nmt-page-dsl.c all: cleanup includes and let "nm-default.h" include "config.h" 2016-02-19 17:53:25 +01:00
nmt-page-dsl.h all: cleanup includes in header files 2016-08-17 19:51:17 +02:00
nmt-page-ethernet.c device: extend MAC address handling including randomization for ethernet and wifi 2016-06-30 08:29:56 +02:00
nmt-page-ethernet.h all: cleanup includes in header files 2016-08-17 19:51:17 +02:00
nmt-page-infiniband.c all: cleanup includes and let "nm-default.h" include "config.h" 2016-02-19 17:53:25 +01:00
nmt-page-infiniband.h all: cleanup includes in header files 2016-08-17 19:51:17 +02:00
nmt-page-ip-tunnel.c tui: add support for IP tunnel connections 2016-11-09 17:45:39 +01:00
nmt-page-ip-tunnel.h tui: add support for IP tunnel connections 2016-11-09 17:45:39 +01:00
nmt-page-ip4.c tui: add ignore-auto-dns property to IPv4 and IPv6 pages 2017-09-01 17:09:57 +02:00
nmt-page-ip4.h all: cleanup includes in header files 2016-08-17 19:51:17 +02:00
nmt-page-ip6.c tui: add ignore-auto-dns property to IPv4 and IPv6 pages 2017-09-01 17:09:57 +02:00
nmt-page-ip6.h all: cleanup includes in header files 2016-08-17 19:51:17 +02:00
nmt-page-ppp.c all: cleanup includes and let "nm-default.h" include "config.h" 2016-02-19 17:53:25 +01:00
nmt-page-ppp.h all: cleanup includes in header files 2016-08-17 19:51:17 +02:00
nmt-page-team-port.c all: cleanup includes and let "nm-default.h" include "config.h" 2016-02-19 17:53:25 +01:00
nmt-page-team-port.h all: cleanup includes in header files 2016-08-17 19:51:17 +02:00
nmt-page-team.c tui: recommit bond, bridge and team slaves on master save 2017-02-27 11:17:39 +01:00
nmt-page-team.h all: cleanup includes in header files 2016-08-17 19:51:17 +02:00
nmt-page-vlan.c nmtui: always create ethernet settings for VLAN and wireless security for wifi. 2017-05-28 23:22:55 +02:00
nmt-page-vlan.h all: cleanup includes in header files 2016-08-17 19:51:17 +02:00
nmt-page-wifi.c tui: fix crash creating Wi-Fi connection 2017-10-11 15:48:47 +02:00
nmt-page-wifi.h all: cleanup includes in header files 2016-08-17 19:51:17 +02:00
nmt-password-dialog.c all: cleanup includes and let "nm-default.h" include "config.h" 2016-02-19 17:53:25 +01:00
nmt-password-dialog.h all: cleanup includes in header files 2016-08-17 19:51:17 +02:00
nmt-password-fields.c all: cleanup includes and let "nm-default.h" include "config.h" 2016-02-19 17:53:25 +01:00
nmt-password-fields.h all: cleanup includes in header files 2016-08-17 19:51:17 +02:00
nmt-route-editor.c all: cleanup includes and let "nm-default.h" include "config.h" 2016-02-19 17:53:25 +01:00
nmt-route-editor.h include: use double-quotes to include our own headers 2017-03-09 14:12:35 +01:00
nmt-route-entry.c tui: extend range of route metric to full uint32 2017-09-05 19:27:19 +02:00
nmt-route-entry.h all: cleanup includes in header files 2016-08-17 19:51:17 +02:00
nmt-route-table.c tui: change default route metric of new routes to -1 2017-09-05 19:10:07 +02:00
nmt-route-table.h all: cleanup includes in header files 2016-08-17 19:51:17 +02:00
nmt-slave-list.c all: cleanup includes and let "nm-default.h" include "config.h" 2016-02-19 17:53:25 +01:00
nmt-slave-list.h all: cleanup includes in header files 2016-08-17 19:51:17 +02:00
nmt-utils.c all: cleanup includes and let "nm-default.h" include "config.h" 2016-02-19 17:53:25 +01:00
nmt-utils.h all: cleanup includes in header files 2016-08-17 19:51:17 +02:00
nmt-widget-list.c all: cleanup includes and let "nm-default.h" include "config.h" 2016-02-19 17:53:25 +01:00
nmt-widget-list.h all: cleanup includes in header files 2016-08-17 19:51:17 +02:00
nmtui-connect.c clients: add define for NMSecretAgentSimple signal name 2016-09-14 23:32:52 +02:00
nmtui-connect.h all: cleanup includes in header files 2016-08-17 19:51:17 +02:00
nmtui-edit.c tui: avoid failed assertion when adding bond slaves 2016-08-01 17:20:38 +02:00
nmtui-edit.h all: cleanup includes in header files 2016-08-17 19:51:17 +02:00
nmtui-hostname.c tui: return to initial menu after sub-forms exit 2016-04-15 13:27:42 +02:00
nmtui-hostname.h all: cleanup includes in header files 2016-08-17 19:51:17 +02:00
nmtui.c tui: quit from top-level form when exiting 2016-04-27 10:52:31 +02:00
nmtui.h include: use double-quotes to include our own headers 2017-03-09 14:12:35 +01:00