aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Chan <benchan@chromium.org>2017-03-03 10:29:50 -0800
committerAleksander Morgado <aleksander@aleksander.es>2017-03-03 21:37:18 +0100
commit73bfe94643eab39ef43a5023c482340ac9b882dc (patch)
tree0f33fc74e159d0d5612af044a0cbf24c627a43be
parentf0cda2093078d630ca164b3872f742609e091a20 (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.
-rw-r--r--src/mm-device.c10
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