From ee606ae49e57de0ff09b4c3be238a2bd4709177d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= Date: Thu, 28 Nov 2019 20:34:20 +0100 Subject: [PATCH] synaptics: Use an autoptr to handle the FpiUsbTransfer sync transfers When using fpi_usb_transfer_submit_sync we still need to unref the transfer once done with it, so let's use an auto pointer so we free it also on errors and early returns without having to handle this manually. --- libfprint/drivers/synaptics/synaptics.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libfprint/drivers/synaptics/synaptics.c b/libfprint/drivers/synaptics/synaptics.c index ccaf60ee..284973cf 100644 --- a/libfprint/drivers/synaptics/synaptics.c +++ b/libfprint/drivers/synaptics/synaptics.c @@ -950,7 +950,8 @@ dev_probe (FpDevice *device) { FpiDeviceSynaptics *self = FPI_DEVICE_SYNAPTICS (device); GUsbDevice *usb_dev; - FpiUsbTransfer *transfer; + + g_autoptr(FpiUsbTransfer) transfer = NULL; FpiByteReader reader; GError *error = NULL; guint16 status; @@ -985,7 +986,7 @@ dev_probe (FpDevice *device) if (!fpi_usb_transfer_submit_sync (transfer, 1000, &error)) goto err_close; - + g_clear_pointer (&transfer, fpi_usb_transfer_unref); transfer = fpi_usb_transfer_new (device); fpi_usb_transfer_fill_bulk (transfer, USB_EP_REPLY, 40); if (!fpi_usb_transfer_submit_sync (transfer, 1000, &error))