When the voicecall atom is unregistered we remove all HFP support as
well but were supplying a zero as value to the emulator status
callbacks which caused the process to crash as we were dereferencing
the supplied value always and not respecting a zero as indicator to
reset.
---
 src/voicecall.c | 15 ++++++++++++---
 1 file changed, 12 insertions(+), 3 deletions(-)

diff --git a/src/voicecall.c b/src/voicecall.c
index a4eef0e..31d845e 100644
--- a/src/voicecall.c
+++ b/src/voicecall.c
@@ -2660,16 +2660,25 @@ static void emulator_hfp_unregister(struct ofono_atom 
*atom)
        struct ofono_voicecall *vc = __ofono_atom_get_data(atom);
        struct ofono_modem *modem = __ofono_atom_get_modem(atom);
 
+       struct emulator_status data;
+       data.vc = vc;
+
+       data.status = OFONO_EMULATOR_CALL_INACTIVE;
        __ofono_modem_foreach_registered_atom(modem,
                                                OFONO_ATOM_TYPE_EMULATOR_HFP,
-                                               emulator_call_status_cb, 0);
+                                               emulator_call_status_cb, &data);
+
+       data.status = OFONO_EMULATOR_CALLSETUP_INACTIVE;
        __ofono_modem_foreach_registered_atom(modem,
                                                OFONO_ATOM_TYPE_EMULATOR_HFP,
                                                emulator_callsetup_status_cb,
-                                               0);
+                                               &data);
+
+       data.status = OFONO_EMULATOR_CALLHELD_NONE;
        __ofono_modem_foreach_registered_atom(modem,
                                                OFONO_ATOM_TYPE_EMULATOR_HFP,
-                                               emulator_callheld_status_cb, 0);
+                                               emulator_callheld_status_cb,
+                                               &data);
 
        __ofono_modem_foreach_registered_atom(modem,
                                                OFONO_ATOM_TYPE_EMULATOR_HFP,
-- 
2.5.0

_______________________________________________
ofono mailing list
[email protected]
https://lists.ofono.org/mailman/listinfo/ofono

Reply via email to