diff options
author | Aleksander Morgado <aleksander@aleksander.es> | 2020-06-28 09:08:54 +0200 |
---|---|---|
committer | Aleksander Morgado <aleksander@aleksander.es> | 2020-06-28 09:12:32 +0200 |
commit | 0590b7e911df6e014fa6a7ec48a291f33a53d580 (patch) | |
tree | 0c78305e67350a345a589f87f67ab4a647f717ad | |
parent | cbb3e3944452a940ba583020882d13f2e49acd27 (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.c | 3 |
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; |