ofono/drivers
Denis Kenzior 2d6c4f9d02 qmi: Fix invalid memory access
When qmi_device_shutdown is used and the callback provided utilizes
qmi_device_unref, an access into already freed memory is triggered.

Sequence of events is:

1. timeout fires
2. glib calls timeout callback (e.g. shutdown_callback) which in turn
calls shutdown_func (gobi shutdown_cb) which in turn calls
qmi_device_unref()
3. qmi_device_unref calls g_source_remove, which doesn't call the
destroy callback (it is blocked)
4. qmi_device_unref then frees the memory used by device
5. glib then calls the source destroy callback (e.g. shutdown_destroy)
which results in just freed memory being used.

glib appears to always call the destroy callback, even if the source has
been removed previously.  So to work around the issue, delay the actual
g_free until the destroy callback is invoked.
2017-05-11 14:41:43 -05:00
..
atmodem atmodem: Fix SMS reception for Gemalto modems 2017-04-21 11:02:05 -05:00
calypsomodem drivers: Update copyright information 2011-10-10 13:39:48 -07:00
cdmamodem cdma-connman: Turn off modem dormancy timeouts 2011-12-09 05:35:48 -06:00
dunmodem dunmodem: Add stub for gprs. 2011-08-03 22:34:04 +02:00
gemaltomodem drivers: Add gemaltomodem driver to handle GNSS 2017-01-19 13:34:36 -06:00
hfpmodem hfpmodem: Use g_slist_free_full 2016-04-22 15:20:43 -05:00
hsomodem hsomodem: Remove atom if driver fails to init 2012-03-26 16:50:36 -05:00
huaweimodem huaweimodem: Fix DHCP parsing on 32-bit platforms 2016-08-10 11:21:56 -05:00
iceramodem iceramodem: Read supported bands as part of radio settings 2012-05-25 20:54:21 +02:00
ifxmodem ifxmodem: Use g_slist_free_full 2016-04-22 15:21:11 -05:00
infineonmodem infineon: Definitions for infineon modem 2015-10-13 21:35:07 -05:00
isimodem isi: Change query_locked to query_facility_lock 2016-04-27 11:13:33 -05:00
mbmmodem drivers: Update copyright information 2011-10-10 13:39:48 -07:00
nwmodem nwmodem: Remove atom if driver fails to init 2012-03-26 16:50:59 -05:00
qmimodem qmi: Fix invalid memory access 2017-05-11 14:41:43 -05:00
rilmodem rilmodem: Fix warning 2017-02-07 11:05:09 -06:00
speedupmodem speedup: No need to parse error 2012-04-16 13:15:52 -05:00
stemodem stemodem: Use g_slist_free_full 2016-04-22 15:22:07 -05:00
swmodem swmodem: Add extra informational AT+CGCONTRDP command 2012-06-25 00:02:17 -07:00
telitmodem telitmodem: support for CDC-NCM network adapter 2017-01-27 20:35:50 -06:00
ubloxmodem ubloxmodem: Fixup minor style issues 2016-12-01 11:27:21 -06:00
ztemodem ztemodem: Remove atom if driver fails to init 2012-03-26 16:50:11 -05:00