From edd1a4bfe4b037e67b65e4538fd880123fb004f7 Mon Sep 17 00:00:00 2001 From: Sean McBride Date: Fri, 20 Aug 2021 15:57:52 -0400 Subject: [PATCH] darwin: After last CFRelease of struct field, set it to NULL Other code checks this field for being NULL or not, so NULLing it upon last release seems the right thing to do. I noticed this during code review, I never actually reproduced any problem. Closes #981 --- libusb/os/darwin_usb.c | 1 + 1 file changed, 1 insertion(+) diff --git a/libusb/os/darwin_usb.c b/libusb/os/darwin_usb.c index 485eb436f..a2da0cfc4 100644 --- a/libusb/os/darwin_usb.c +++ b/libusb/os/darwin_usb.c @@ -1570,6 +1570,7 @@ static int darwin_release_interface(struct libusb_device_handle *dev_handle, uin if (cInterface->cfSource) { CFRunLoopRemoveSource (libusb_darwin_acfl, cInterface->cfSource, kCFRunLoopDefaultMode); CFRelease (cInterface->cfSource); + cInterface->cfSource = NULL; } kresult = (*(cInterface->interface))->USBInterfaceClose(cInterface->interface);