summaryrefslogtreecommitdiff
path: root/libusb/sync.c
diff options
context:
space:
mode:
authorDaniel Drake <dsd@gentoo.org>2008-05-19 15:43:27 +0100
committerDaniel Drake <dsd@gentoo.org>2008-05-19 15:43:27 +0100
commitbef33bb9eba0da04ee7488d9cd5e6ab12bc61c0c (patch)
tree87f430d3c300369f2478b012507d32f8086fda1e /libusb/sync.c
parenta345bacb6f07ebb2122402041a9e8092d4a20a4d (diff)
downloadlibusb-bef33bb9eba0da04ee7488d9cd5e6ab12bc61c0c.tar.gz
Fix memory leak in libusb_control_transfer
Pointed out by David Engraf: we weren't freeing the transfer buffer
Diffstat (limited to 'libusb/sync.c')
-rw-r--r--libusb/sync.c1
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);