diff options
author | Ben Chan <benchan@chromium.org> | 2017-03-03 10:29:50 -0800 |
---|---|---|
committer | Aleksander Morgado <aleksander@aleksander.es> | 2017-03-03 21:37:18 +0100 |
commit | 73bfe94643eab39ef43a5023c482340ac9b882dc (patch) | |
tree | 0f33fc74e159d0d5612af044a0cbf24c627a43be /src | |
parent | f0cda2093078d630ca164b3872f742609e091a20 (diff) |
device: add null check on `self->priv->modem' in clear_modem
clear_modem() can be invoked from set_property() and dispose(), where
`self->priv->modem' may be NULL. This patch adds a null check on the
modem object to make sure we don't run g_object_run_dispose() on a null
modem object.
Diffstat (limited to 'src')
-rw-r--r-- | src/mm-device.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/mm-device.c b/src/mm-device.c index 803e64d3..6c856289 100644 --- a/src/mm-device.c +++ b/src/mm-device.c @@ -302,10 +302,12 @@ clear_modem (MMDevice *self) self->priv->modem_valid_id = 0; } - /* Run dispose before unref-ing, in order to cleanup the SIM object, - * if any (which also holds a reference to the modem object) */ - g_object_run_dispose (G_OBJECT (self->priv->modem)); - g_clear_object (&(self->priv->modem)); + if (self->priv->modem) { + /* Run dispose before unref-ing, in order to cleanup the SIM object, + * if any (which also holds a reference to the modem object) */ + g_object_run_dispose (G_OBJECT (self->priv->modem)); + g_clear_object (&(self->priv->modem)); + } } void |