diff options
author | Marco Trevisan (Treviño) <mail@3v1n0.net> | 2024-02-19 15:45:29 +0100 |
---|---|---|
committer | Marco Trevisan (Treviño) <mail@3v1n0.net> | 2024-02-19 17:12:12 +0100 |
commit | 8badfa84e9ab13c946dea416d69599f6cf285106 (patch) | |
tree | 8a01ca5d8e2d32a3cd1f4273e50e9434f8d0e2d6 | |
parent | b97efa6fedd284b053e534d0e810503844dfdb2d (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.c | 5 |
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; |