From 7df9fc18cf1642b70882efd2c77e5fe56ed0adbd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= Date: Mon, 24 Feb 2025 22:38:52 +0100 Subject: [PATCH] mafpmoc: Use consistent error handling and fix some leaks --- libfprint/drivers/mafpmoc/mafpmoc.c | 37 ++++++++++++----------------- 1 file changed, 15 insertions(+), 22 deletions(-) diff --git a/libfprint/drivers/mafpmoc/mafpmoc.c b/libfprint/drivers/mafpmoc/mafpmoc.c index 8e3f5d77..aa9d1b5e 100644 --- a/libfprint/drivers/mafpmoc/mafpmoc.c +++ b/libfprint/drivers/mafpmoc/mafpmoc.c @@ -205,7 +205,7 @@ mafp_clean_usb_bulk_in (FpDevice *device) { g_autoptr(FpiUsbTransfer) transfer = fpi_usb_transfer_new (device); fpi_usb_transfer_fill_bulk (transfer, MAFP_EP_BULK_IN, MAFP_USB_BUFFER_SIZE); - GError *error = NULL; + g_autoptr(GError) error = NULL; fp_dbg ("bulk clean"); if (!fpi_usb_transfer_submit_sync (transfer, 200, &error)) @@ -751,6 +751,7 @@ fp_enroll_get_image_cb (FpiDeviceMafpmoc *self, mafp_cmd_response_t *resp, GError *error) { + g_autoptr(GError) local_error = NULL; FpDevice *dev = FP_DEVICE (self); FpEnrollState nextState = FP_ENROLL_VERIFY_GET_IMAGE; @@ -760,12 +761,9 @@ fp_enroll_get_image_cb (FpiDeviceMafpmoc *self, return; } - if (fpi_device_action_is_cancelled (dev)) + if (g_cancellable_set_error_if_cancelled (fpi_device_get_cancellable (dev), + &local_error)) { - GError *local_error = NULL; - - g_cancellable_set_error_if_cancelled (fpi_device_get_cancellable (dev), - &local_error); fpi_ssm_mark_failed (self->task_ssm, g_steal_pointer (&local_error)); return; } @@ -1096,10 +1094,9 @@ mafp_pwr_btn_shield_on_cb (FpiUsbTransfer *transfer, static void mafp_pwr_btn_shield_on (FpiDeviceMafpmoc *self, int on) { - GError *pre_error = fpi_ssm_get_error (self->task_ssm); + g_autoptr(GError) pre_error = fpi_ssm_get_error (self->task_ssm); - if (pre_error && pre_error->code == G_USB_DEVICE_ERROR_FAILED && - g_str_equal (g_quark_to_string (pre_error->domain), "g-usb-device-error-quark")) + if (g_error_matches (pre_error, G_USB_DEVICE_ERROR, G_USB_DEVICE_ERROR_FAILED)) { fpi_ssm_next_state (self->task_ssm); return; @@ -1408,6 +1405,7 @@ fp_verify_get_image_cb (FpiDeviceMafpmoc *self, mafp_cmd_response_t *resp, GError *error) { + g_autoptr(GError) local_error = NULL; FpDevice *dev = FP_DEVICE (self); FpVerifyState nextState = FP_VERIFY_GET_IMAGE; @@ -1417,12 +1415,9 @@ fp_verify_get_image_cb (FpiDeviceMafpmoc *self, return; } - if (fpi_device_action_is_cancelled (dev)) + if (g_cancellable_set_error_if_cancelled (fpi_device_get_cancellable (dev), + &local_error)) { - GError *local_error = NULL; - - g_cancellable_set_error_if_cancelled (fpi_device_get_cancellable (dev), - &local_error); fpi_ssm_mark_failed (self->task_ssm, g_steal_pointer (&local_error)); return; } @@ -1505,6 +1500,7 @@ fp_verify_get_tpl_info_cb (FpiDeviceMafpmoc *self, mafp_cmd_response_t *resp, GError *error) { + g_autoptr(GError) local_error = NULL; FpDevice *dev = FP_DEVICE (self); FpPrint *new_scan = NULL; FpPrint *matching = NULL; @@ -1515,12 +1511,9 @@ fp_verify_get_tpl_info_cb (FpiDeviceMafpmoc *self, return; } - if (fpi_device_action_is_cancelled (dev)) + if (g_cancellable_set_error_if_cancelled (fpi_device_get_cancellable (dev), + &local_error)) { - GError *local_error = NULL; - - g_cancellable_set_error_if_cancelled (fpi_device_get_cancellable (dev), - &local_error); fpi_ssm_mark_failed (self->task_ssm, g_steal_pointer (&local_error)); return; } @@ -2327,7 +2320,7 @@ mafp_init (FpDevice *device) { fp_dbg ("mafp_init"); FpiDeviceMafpmoc *self = FPI_DEVICE_MAFPMOC (device); - GError *error = NULL; + g_autoptr(GError) error = NULL; uint64_t driver_data; driver_data = fpi_device_get_driver_data (device); @@ -2336,7 +2329,7 @@ mafp_init (FpDevice *device) if (!g_usb_device_reset (fpi_device_get_usb_device (device), &error)) { fp_dbg ("g_usb_device_reset err: %s", error->message); - fpi_device_open_complete (FP_DEVICE (self), error); + fpi_device_open_complete (FP_DEVICE (self), g_steal_pointer (&error)); return; } @@ -2344,7 +2337,7 @@ mafp_init (FpDevice *device) fp_dbg ("g_usb_device_claim_interface"); if (!g_usb_device_claim_interface (fpi_device_get_usb_device (device), 0, 0, &error)) { - fpi_device_open_complete (FP_DEVICE (self), error); + fpi_device_open_complete (FP_DEVICE (self), g_steal_pointer (&error)); return; }