aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@aleksander.es>2020-07-04 05:37:59 +0200
committerAleksander Morgado <aleksander@aleksander.es>2020-07-04 05:50:41 +0200
commit10ee7f4cd9d8af46822959fc84055bac45f5c56b (patch)
treea0cd6fb9cdd64a40f29ea5a118c5e027cc82e9a1
parent0dd1f122221aae8d4c5b16802f5f47601ff99e10 (diff)
mbim,signal: make sure output pointers are always set
E.g. if 'gsm' pointer is given, make sure it's always set (either to a MMSignal or to NULL).
-rw-r--r--src/mm-broadband-modem-mbim.c27
1 files changed, 8 insertions, 19 deletions
diff --git a/src/mm-broadband-modem-mbim.c b/src/mm-broadband-modem-mbim.c
index b2296b2f..73c86f49 100644
--- a/src/mm-broadband-modem-mbim.c
+++ b/src/mm-broadband-modem-mbim.c
@@ -4372,25 +4372,14 @@ modem_signal_load_values_finish (MMIfaceModemSignal *self,
if (!result)
return FALSE;
- if (gsm && result->gsm) {
- *gsm = result->gsm;
- result->gsm = NULL;
- }
-
- if (umts && result->umts) {
- *umts = result->umts;
- result->umts = NULL;
- }
-
- if (lte && result->lte) {
- *lte = result->lte;
- result->lte = NULL;
- }
-
- if (nr5g && result->nr5g) {
- *nr5g = result->nr5g;
- result->nr5g = NULL;
- }
+ if (gsm)
+ *gsm = g_steal_pointer (&result->gsm);
+ if (umts)
+ *umts = g_steal_pointer (&result->umts);
+ if (lte)
+ *lte = g_steal_pointer (&result->lte);
+ if (nr5g)
+ *nr5g = g_steal_pointer (&result->nr5g);
signal_load_values_result_free (result);