aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorReinhard Speyerer <rspmn@arcor.de>2019-08-19 16:31:23 +0200
committerDan Williams <dcbw@redhat.com>2019-08-23 16:49:57 -0500
commitf2c878e79661af660d5a5c9e2a820a2b682ef39e (patch)
tree5ab3bfcc45728844f7523ab29cb4de0c31ab8b44
parente78ef2a67f8296f252e59fb042d27288763d5b4b (diff)
mm-modem-helpers-qmi: avoid SIGSEGV with mmcli --set-current-bands
For devices which do not provide feature_extended_lte_band_preference mm_modem_bands_to_qmi_band_preference() gets called from mm_shared_qmi_set_current_bands() with extended_qmi_lte_bands set to NULL which may cause a SIGSEGV in the memset() call in mm_modem_bands_to_qmi_band_preference(). Avoid this by checking whether extended_qmi_lte_bands is non-NULL before calling memset(). Reported-by: Nick <mips171@icloud.com>
-rw-r--r--src/mm-modem-helpers-qmi.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/mm-modem-helpers-qmi.c b/src/mm-modem-helpers-qmi.c
index cb654a85..ef6e0483 100644
--- a/src/mm-modem-helpers-qmi.c
+++ b/src/mm-modem-helpers-qmi.c
@@ -581,7 +581,8 @@ mm_modem_bands_to_qmi_band_preference (GArray *mm_bands,
*qmi_bands = 0;
*qmi_lte_bands = 0;
- memset (extended_qmi_lte_bands, 0, extended_qmi_lte_bands_size * sizeof (guint64));
+ if (extended_qmi_lte_bands)
+ memset (extended_qmi_lte_bands, 0, extended_qmi_lte_bands_size * sizeof (guint64));
for (i = 0; i < mm_bands->len; i++) {
MMModemBand band;