summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@aleksander.es>2020-06-28 09:08:54 +0200
committerAleksander Morgado <aleksander@aleksander.es>2020-06-28 09:12:32 +0200
commit0590b7e911df6e014fa6a7ec48a291f33a53d580 (patch)
tree0c78305e67350a345a589f87f67ab4a647f717ad
parentcbb3e3944452a940ba583020882d13f2e49acd27 (diff)
libmbim-glib,proxy: fix segfault when printing updated subscriber list
We were printing the 'updated' variable after its contents had already been stolen. [28 Jun 2020, 03:06:27] [Debug] Merged service subscribe list built for device '/dev/cdc-wdm0' Thread 1 "mbim-proxy" received signal SIGSEGV, Segmentation fault. _mbim_proxy_helper_service_subscribe_list_debug (list=list@entry=0x0, list_size=6) at mbim-proxy-helpers.c:104 104 const MbimEventEntry *entry = list[i]; (gdb) p list $1 = (const MbimEventEntry * const *) 0x0 (gdb) p list_size $2 = 6 The segfault was only triggered when the mbim-proxy was run with --verbose.
-rw-r--r--src/libmbim-glib/mbim-proxy.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/libmbim-glib/mbim-proxy.c b/src/libmbim-glib/mbim-proxy.c
index 0886d71..93b36ad 100644
--- a/src/libmbim-glib/mbim-proxy.c
+++ b/src/libmbim-glib/mbim-proxy.c
@@ -1293,7 +1293,8 @@ merge_client_service_subscribe_lists (MbimProxy *self,
if (mbim_utils_get_traces_enabled ()) {
g_debug ("Merged service subscribe list built for device '%s'", mbim_device_get_path (device));
- _mbim_proxy_helper_service_subscribe_list_debug ((const MbimEventEntry * const *)updated, updated_size);
+ _mbim_proxy_helper_service_subscribe_list_debug ((const MbimEventEntry * const *)ctx->mbim_event_entry_array,
+ ctx->mbim_event_entry_array_size);
}
*out_size = updated_size;