diff options
author | Daniel Drake <dsd@gentoo.org> | 2008-05-19 15:43:27 +0100 |
---|---|---|
committer | Daniel Drake <dsd@gentoo.org> | 2008-05-19 15:43:27 +0100 |
commit | bef33bb9eba0da04ee7488d9cd5e6ab12bc61c0c (patch) | |
tree | 87f430d3c300369f2478b012507d32f8086fda1e | |
parent | a345bacb6f07ebb2122402041a9e8092d4a20a4d (diff) | |
download | libusb-bef33bb9eba0da04ee7488d9cd5e6ab12bc61c0c.tar.gz |
Fix memory leak in libusb_control_transfer
Pointed out by David Engraf: we weren't freeing the transfer buffer
-rw-r--r-- | libusb/sync.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/libusb/sync.c b/libusb/sync.c index d158922..3a71428 100644 --- a/libusb/sync.c +++ b/libusb/sync.c @@ -94,6 +94,7 @@ API_EXPORTED int libusb_control_transfer(libusb_device_handle *dev_handle, libusb_fill_control_transfer(transfer, dev_handle, buffer, ctrl_transfer_cb, &completed, timeout); + transfer->flags = LIBUSB_TRANSFER_FREE_BUFFER; r = libusb_submit_transfer(transfer); if (r < 0) { libusb_free_transfer(transfer); |