Commit e437d201 authored by Bastien Nocera's avatar Bastien Nocera

device: Don't call fp_async_dev_close() with NULL device

In some cases, the priv->dev is already freed and NULL, so ensure
that we don't try to close NULL devices and crash.
parent fa31b0ae
...@@ -556,9 +556,11 @@ _fprint_device_client_vanished (GDBusConnection *connection, ...@@ -556,9 +556,11 @@ _fprint_device_client_vanished (GDBusConnection *connection,
done = FALSE; done = FALSE;
/* Close the claimed device as well */ /* Close the claimed device as well */
fp_async_dev_close (priv->dev, action_stop_cb, &done); if (priv->dev) {
while (done == FALSE) fp_async_dev_close (priv->dev, action_stop_cb, &done);
g_main_context_iteration (NULL, TRUE); while (done == FALSE)
g_main_context_iteration (NULL, TRUE);
}
g_free (priv->sender); g_free (priv->sender);
priv->sender = NULL; priv->sender = NULL;
...@@ -728,7 +730,8 @@ static void fprint_device_release(FprintDevice *rdev, ...@@ -728,7 +730,8 @@ static void fprint_device_release(FprintDevice *rdev,
} }
session->context_release_device = context; session->context_release_device = context;
fp_async_dev_close(priv->dev, dev_close_cb, rdev); if (priv->dev)
fp_async_dev_close(priv->dev, dev_close_cb, rdev);
} }
static void verify_cb(struct fp_dev *dev, int r, struct fp_img *img, static void verify_cb(struct fp_dev *dev, int r, struct fp_img *img,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment