• Philippe Teuwen's avatar
    Fix mem leak with libusb by introducing buses/usbbus.c · 9dcf7378
    Philippe Teuwen authored
    Now call only once usb_init(); usb_find_busses(); usb_find_devices()
    instead of multiple calls in several scan() then open()
    
    This fixes the following leaks:
    
    ==1159== 8 bytes in 1 blocks are definitely lost in loss record 9 of 102
    ==1159==    at 0x4C28BED: malloc (vg_replace_malloc.c:263)
    ==1159==    by 0x53D9931: usb_parse_configuration (in /lib/x86_64-linux-gnu/libusb-0.1.so.4.4.4)
    ==1159==    by 0x53DB8B1: usb_os_find_devices (in /lib/x86_64-linux-gnu/libusb-0.1.so.4.4.4)
    ==1159==    by 0x53D8FDC: usb_find_devices (in /lib/x86_64-linux-gnu/libusb-0.1.so.4.4.4)
    ==1159==    by 0x4E41D79: pn53x_usb_scan (in /usr/lib/x86_64-linux-gnu/libnfc.so.4.0.0)
    ==1159==
    ==1159== 8 bytes in 1 blocks are definitely lost in loss record 10 of 102
    ==1159==    at 0x4C28BED: malloc (vg_replace_malloc.c:263)
    ==1159==    by 0x53D9931: usb_parse_configuration (in /lib/x86_64-linux-gnu/libusb-0.1.so.4.4.4)
    ==1159==    by 0x53DB8B1: usb_os_find_devices (in /lib/x86_64-linux-gnu/libusb-0.1.so.4.4.4)
    ==1159==    by 0x53D8FDC: usb_find_devices (in /lib/x86_64-linux-gnu/libusb-0.1.so.4.4.4)
    ==1159==    by 0x4E42CC7: pn53x_usb_open (in /usr/lib/x86_64-linux-gnu/libnfc.so.4.0.0)
    ==1159==    by 0x4E351E6: nfc_open (in /usr/lib/x86_64-linux-gnu/libnfc.so.4.0.0)
    9dcf7378
usbbus.c 1.98 KB