|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
$ gdbus call \
--session \
--dest com.intel.dleyna-renderer \
--object-path /com/intel/dLeynaRenderer \
--method com.intel.dLeynaRenderer.Manager.Release
If a service is spawned as a result of the above command, then it will
lead to a crash with this backtrace:
(client_name=0x7f7c94009750 ":1.603") at src/connector-dbus.c:271
(conn=<optimized out>, sender=0x7f7c94009750 ":1.603",
object=<optimized out>, interface=<optimized out>,
method=<optimized out>, parameters=<optimized out>,
invocation=0x2360e00) at server.c:780
at gdbusconnection.c:4884
at gmain.c:3111
(context=context@entry=0x2342ea0) at gmain.c:3710
block=block@entry=1, dispatch=dispatch@entry=1,
self=<optimized out>) at gmain.c:3781
at gmain.c:3975
(server=<optimized out>, control_point=<optimized out>,
user_data=0x0) at libdleyna/core/main-loop.c:155
argv=<optimized out>) at daemon.c:93
This is because g_hash_table_lookup returns NULL which we try to
dereference to get the client_id.
Instead of our hand-spun solution for storing unsigned integers in a
GHashTable, let's use standard GLib mechanisms for doing that. We
avoid this problem and reduce a g_new/g_free pair as a bonus.
|