From c928d7bd8f3d7c33d538a5920972c39b6696b15c Mon Sep 17 00:00:00 2001 From: Benjamin Berg Date: Tue, 10 Aug 2021 19:04:50 +0200 Subject: [PATCH] synaptics: Fix error handling when releasing the USB interface The error may not be NULL, as such we need a second variable and then we'll only forward any error from g_usb_device_release_interface if there was none before. --- libfprint/drivers/synaptics/synaptics.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/libfprint/drivers/synaptics/synaptics.c b/libfprint/drivers/synaptics/synaptics.c index fbafc18..16d5afd 100644 --- a/libfprint/drivers/synaptics/synaptics.c +++ b/libfprint/drivers/synaptics/synaptics.c @@ -1348,8 +1348,12 @@ fps_deinit_cb (FpiDeviceSynaptics *self, bmkt_response_t *resp, GError *error) { + g_autoptr(GError) err = NULL; + /* Release usb interface */ - g_usb_device_release_interface (fpi_device_get_usb_device (FP_DEVICE (self)), 0, 0, &error); + g_usb_device_release_interface (fpi_device_get_usb_device (FP_DEVICE (self)), 0, 0, &err); + if (!error) + error = g_steal_pointer (&err); g_clear_object (&self->interrupt_cancellable);