aesx660: Use convenience API to allocate USB receive buffer

This also fixes a memory leak of the data as the g_free was missing and
none of the callback handlers free the data either.
This commit is contained in:
Benjamin Berg 2020-10-07 13:31:59 +02:00
parent 4719b30f16
commit 44ef20d5ac

View file

@ -91,13 +91,12 @@ aesX660_read_response (FpiSsm *ssm,
FpiUsbTransferCallback callback) FpiUsbTransferCallback callback)
{ {
FpiUsbTransfer *transfer = fpi_usb_transfer_new (_dev); FpiUsbTransfer *transfer = fpi_usb_transfer_new (_dev);
unsigned char *data;
GCancellable *cancel = NULL; GCancellable *cancel = NULL;
if (cancellable) if (cancellable)
cancel = fpi_device_get_cancellable (_dev); cancel = fpi_device_get_cancellable (_dev);
data = g_malloc (buf_len);
fpi_usb_transfer_fill_bulk_full (transfer, EP_IN, data, buf_len, NULL); fpi_usb_transfer_fill_bulk (transfer, EP_IN, buf_len);
transfer->ssm = ssm; transfer->ssm = ssm;
transfer->short_is_error = short_is_error; transfer->short_is_error = short_is_error;
fpi_usb_transfer_submit (transfer, BULK_TIMEOUT, cancel, callback, NULL); fpi_usb_transfer_submit (transfer, BULK_TIMEOUT, cancel, callback, NULL);