diff options
| author | Dimitri Stolnikov <horiz0n@gmx.net> | 2012-05-12 15:55:06 +0200 |
|---|---|---|
| committer | Dimitri Stolnikov <horiz0n@gmx.net> | 2012-05-12 15:55:06 +0200 |
| commit | cdfd1cf775a22fb076756188283aad68441c27b9 (patch) | |
| tree | 0facba8054e4155376e4bfedcc385b5753f8689f | |
| parent | 5371f206f348346925e28edd177b429bee1da89c (diff) | |
fix a memory leak by unreferencing libusb devices
| -rw-r--r-- | src/rtl-sdr.c | 8 |
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) { |
