mirror of
https://gitlab.com/mishakmak/pam-fprint-grosshack.git
synced 2026-04-08 20:03:34 +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:
11
src/device.c
11
src/device.c
@ -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,
|
|||||||
}
|
}
|
||||||
|
|
||||||
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,
|
||||||
|
|||||||
Reference in New Issue
Block a user