summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDimitri Stolnikov <horiz0n@gmx.net>2012-05-12 15:55:06 +0200
committerDimitri Stolnikov <horiz0n@gmx.net>2012-05-12 15:55:06 +0200
commitcdfd1cf775a22fb076756188283aad68441c27b9 (patch)
tree0facba8054e4155376e4bfedcc385b5753f8689f
parent5371f206f348346925e28edd177b429bee1da89c (diff)
fix a memory leak by unreferencing libusb devices
-rw-r--r--src/rtl-sdr.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/rtl-sdr.c b/src/rtl-sdr.c
index 2662a0d..6a9539b 100644
--- a/src/rtl-sdr.c
+++ b/src/rtl-sdr.c
@@ -759,7 +759,7 @@ uint32_t rtlsdr_get_device_count(void)
device_count++;
}
- libusb_free_device_list(list, 0);
+ libusb_free_device_list(list, 1);
libusb_exit(ctx);
@@ -793,7 +793,7 @@ const char *rtlsdr_get_device_name(uint32_t index)
}
}
- libusb_free_device_list(list, 0);
+ libusb_free_device_list(list, 1);
libusb_exit(ctx);
@@ -847,12 +847,12 @@ int rtlsdr_open(rtlsdr_dev_t **out_dev, uint32_t index)
r = libusb_open(device, &dev->devh);
if (r < 0) {
- libusb_free_device_list(list, 0);
+ libusb_free_device_list(list, 1);
fprintf(stderr, "usb_open error %d\n", r);
goto err;
}
- libusb_free_device_list(list, 0);
+ libusb_free_device_list(list, 1);
r = libusb_claim_interface(dev->devh, 0);
if (r < 0) {