mirror of git://git.sysmocom.de/ofono
gprs: fix seg fault in case of NULL callback
In case of AT callback if callback handler is NULL, check for null before calling the success macro. Logs: ofonod[32496]: src/network.c:current_operator_callback() 0x157ad60, (nil) ofonod[32496]: src/gprs.c:netreg_status_changed() 0 ofonod[32496]: src/gprs.c:gprs_netreg_update() attach: 0, driver_attached: 1 ofonod[32496]: src/gprs.c:ofono_gprs_detached_notify() /xmm7xxx_0 ofonod[32496]: drivers/ifxmodem/gprs-context.c:ifx_gprs_detach_shutdown() ofonod[32496]: drivers/ifxmodem/gprs-context.c:ifx_gprs_deactivate_primary() cid 0 ofonod[32496]: src/gprs.c:ofono_gprs_detached_notify() /xmm7xxx_0 ofonod[32496]: src/gprs.c:gprs_attach_callback() /xmm7xxx_0 error = 0 ofonod[32496]: drivers/ifxmodem/gprs-context.c:deactivate_cb() ok 0 ofonod[32496]: Aborting (signal 11) [./../src/ofonod] ofonod[32496]: ++++++++ backtrace ++++++++ ofonod[32496]: +++++++++++++++++++++++++++
This commit is contained in:
parent
40f5916316
commit
4b44fb3910
|
@ -514,6 +514,9 @@ static void deactivate_cb(gboolean ok, GAtResult *result, gpointer user_data)
|
|||
if (gcd->vendor != OFONO_VENDOR_XMM)
|
||||
g_at_chat_resume(gcd->chat);
|
||||
|
||||
if (!gcd->cb)
|
||||
return;
|
||||
|
||||
CALLBACK_WITH_SUCCESS(gcd->cb, gcd->cb_data);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue