Skip to content

nmcli: fix crash in nmc_connection_check_deprecated()

Beniamino Galvani requested to merge bg/nmcli-crash into main

Summary

It's not clear in which circumstances, but 'type' can be NULL as in the following backtrace:

      nmc_connection_check_deprecated (c=c@entry=0x55d93f937610) at src/nmcli/connections.c:676
      connection_warnings (nmc=nmc@entry=0x55d93f5ae5e0 <nm_cli>, connection=connection@entry=0x55d93f937610) at src/nmcli/connections.c:5464
      add_connection_cb (client=<optimized out>, result=<optimized out>, user_data=0x55d93fc83820) at src/nmcli/connections.c:5510
      g_task_return_now (task=0x55d93fc86fd0 [GTask]) at ../gio/gtask.c:1361
      g_task_return (type=<optimized out>, task=0x55d93fc86fd0 [GTask]) at ../gio/gtask.c:1430
      g_task_return (task=0x55d93fc86fd0 [GTask], type=<optimized out>) at ../gio/gtask.c:1387
      _request_wait_complete () at /lib64/libnm.so.0
      _nm_client_notify_event_emit_parts () at /lib64/libnm.so.0
      _dbus_handle_changes_commit () at /lib64/libnm.so.0
      _nm_client_get_settings_call_cb () at /lib64/libnm.so.0
      _nm_client_dbus_call_simple_cb () at /lib64/libnm.so.0
      g_task_return_now (task=0x55d93f7bd6f0 [GTask]) at ../gio/gtask.c:1361
      g_task_return (type=<optimized out>, task=0x55d93f7bd6f0 [GTask]) at ../gio/gtask.c:1430
      g_task_return (task=0x55d93f7bd6f0 [GTask], type=<optimized out>) at ../gio/gtask.c:1387
      g_dbus_connection_call_done (source=<optimized out>, result=<optimized out>, user_data=0x55d93f7bd6f0) at ../gio/gdbusconnection.c:5895
      g_task_return_now (task=0x55d93f7bd7b0 [GTask]) at ../gio/gtask.c:1361
      complete_in_idle_cb (task=task@entry=0x55d93f7bd7b0) at ../gio/gtask.c:1375
      g_idle_dispatch (source=0x7f15b007c940, callback=0x7f15ca7e4850 <complete_in_idle_cb>, user_data=0x55d93f7bd7b0) at ../glib/gmain.c:6150
      g_main_dispatch (context=0x55d93f77cde0) at ../glib/gmain.c:3344
      g_main_context_dispatch_unlocked (context=0x55d93f77cde0) at ../glib/gmain.c:4152
      g_main_context_iterate_unlocked.isra.0 (context=0x55d93f77cde0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4217
      g_main_loop_run (loop=0x55d93f7589b0) at ../glib/gmain.c:4419
      main (argc=19, argv=0x7fff77359138) at src/nmcli/nmcli.c:1044

Fixes: f377114d ('cli: connection: check for deprecated features')

Merge request reports