From d58305bf1fc89dd44e3d3f267dd4ed7579e7fd61 Mon Sep 17 00:00:00 2001 From: Ben Chan Date: Thu, 3 Aug 2017 13:24:49 -0700 Subject: bearer-mbim: avoid accessing invalid session_id and nw_error This patch fixes an issue in disconnect_set_ready(). If mbim_message_connect_response_parse(), `session_id' and `nw_error' are not set to a valid value, and thus shouldn't be used. --- src/mm-bearer-mbim.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/mm-bearer-mbim.c b/src/mm-bearer-mbim.c index 63bb0579..b6f4bd72 100644 --- a/src/mm-bearer-mbim.c +++ b/src/mm-bearer-mbim.c @@ -1119,11 +1119,15 @@ disconnect_set_ready (MbimDevice *device, } else if (g_error_matches (error, MBIM_STATUS_ERROR, MBIM_STATUS_ERROR_CONTEXT_NOT_ACTIVATED)) { - mm_dbg ("Session ID '%u' already disconnected.", session_id); + if (parsed_result) + mm_dbg ("Session ID '%u' already disconnected.", session_id); + else + mm_dbg ("Session ID '' already disconnected."); + g_clear_error (&error); g_clear_error (&inner_error); } else if (g_error_matches (error, MBIM_STATUS_ERROR, MBIM_STATUS_ERROR_FAILURE)) { - if (nw_error) { + if (parsed_result && nw_error != 0) { g_error_free (error); error = mm_mobile_equipment_error_from_mbim_nw_error (nw_error); } -- cgit v1.2.3-70-g09d2