From 4061d762188d453cff9312d40e400b1979926229 Mon Sep 17 00:00:00 2001 From: Daniel Schaefer Date: Thu, 2 Jul 2026 15:37:59 +0800 Subject: [PATCH] focaltech_moc: Handle errors If the reader does not respond, currently the plugin segfaults. The error should be handled gracefully. With this change, an error is printed instead of crashing: failed to claim device: GDBus.Error:net.reactivated.Fprint.Error.Internal: Open failed with error: Can't get response!! Signed-off-by: Daniel Schaefer --- libfprint/drivers/focaltech_moc/focaltech_moc.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/libfprint/drivers/focaltech_moc/focaltech_moc.c b/libfprint/drivers/focaltech_moc/focaltech_moc.c index e3e04c4a..45c0b5eb 100644 --- a/libfprint/drivers/focaltech_moc/focaltech_moc.c +++ b/libfprint/drivers/focaltech_moc/focaltech_moc.c @@ -469,6 +469,8 @@ usb_claim_interface_probe (FpDevice *device, int claim, GError **error) int i; interfaces = g_usb_device_get_interfaces (fpi_device_get_usb_device (device), error); + if (interfaces == NULL) + return ret; for (i = 0; i < interfaces->len; i++) { @@ -534,7 +536,7 @@ task_ssm_init_done (FpiSsm *ssm, FpDevice *device, GError *error) FpiDeviceFocaltechMoc *self = FPI_DEVICE_FOCALTECH_MOC (device); if (error) - usb_claim_interface_probe (device, 0, &error); + usb_claim_interface_probe (device, 0, NULL); fpi_device_open_complete (FP_DEVICE (self), g_steal_pointer (&error)); }