summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarco Trevisan (Treviño) <mail@3v1n0.net>2024-02-19 15:45:29 +0100
committerMarco Trevisan (Treviño) <mail@3v1n0.net>2024-02-19 17:12:12 +0100
commit8badfa84e9ab13c946dea416d69599f6cf285106 (patch)
tree8a01ca5d8e2d32a3cd1f4273e50e9434f8d0e2d6
parentb97efa6fedd284b053e534d0e810503844dfdb2d (diff)
egismoc: Assert that current transfer is unset when setting it
We need to ensure that we are not overwriting the instance transfer, so that we can be sure that we are only doing one transfer at time. Also we need to ensure that the ssm unsetting it, is the owner of it.
-rw-r--r--libfprint/drivers/egismoc/egismoc.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/libfprint/drivers/egismoc/egismoc.c b/libfprint/drivers/egismoc/egismoc.c
index 08e514b..0673bfe 100644
--- a/libfprint/drivers/egismoc/egismoc.c
+++ b/libfprint/drivers/egismoc/egismoc.c
@@ -263,6 +263,9 @@ egismoc_cmd_ssm_done (FpiSsm *ssm,
FpiDeviceEgisMoc *self = FPI_DEVICE_EGISMOC (device);
CommandData *data = fpi_ssm_get_data (ssm);
+ g_assert (self->cmd_ssm == ssm);
+ g_assert (!self->cmd_transfer || self->cmd_transfer->ssm == ssm);
+
self->cmd_ssm = NULL;
self->cmd_transfer = NULL;
@@ -373,6 +376,8 @@ egismoc_exec_cmd (FpDevice *device,
buffer_out_length,
g_free);
transfer->ssm = self->cmd_ssm;
+
+ g_assert (self->cmd_transfer == NULL);
self->cmd_transfer = g_steal_pointer (&transfer);
data->callback = callback;