mirror of
https://gitlab.freedesktop.org/libfprint/fprintd.git
synced 2026-05-05 20:28:21 +02:00
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.
This commit is contained in:
parent
fa31b0aec2
commit
e437d20108
1 changed files with 7 additions and 4 deletions
11
src/device.c
11
src/device.c
|
|
@ -556,9 +556,11 @@ _fprint_device_client_vanished (GDBusConnection *connection,
|
|||
done = FALSE;
|
||||
|
||||
/* Close the claimed device as well */
|
||||
fp_async_dev_close (priv->dev, action_stop_cb, &done);
|
||||
while (done == FALSE)
|
||||
g_main_context_iteration (NULL, TRUE);
|
||||
if (priv->dev) {
|
||||
fp_async_dev_close (priv->dev, action_stop_cb, &done);
|
||||
while (done == FALSE)
|
||||
g_main_context_iteration (NULL, TRUE);
|
||||
}
|
||||
|
||||
g_free (priv->sender);
|
||||
priv->sender = NULL;
|
||||
|
|
@ -728,7 +730,8 @@ static void fprint_device_release(FprintDevice *rdev,
|
|||
}
|
||||
|
||||
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,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue