summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSean McBride <sean@rogue-research.com>2010-02-05 11:50:34 -0500
committerPeter Stuge <peter@stuge.se>2011-06-13 22:06:32 +0200
commit3ba2fae24886fec89410e5f2295f65363edcc2df (patch)
tree86aa8645c916e66501f3c35c0512bf6c7aea69d5
parentb67120f047f7eafa15c88c66fa61cef40805ec1f (diff)
downloadlibusb-3ba2fae24886fec89410e5f2295f65363edcc2df.tar.gz
Darwin: Fix #28 clang analyzer warning about unbalanced retain/release
-rw-r--r--libusb/os/darwin_usb.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/libusb/os/darwin_usb.c b/libusb/os/darwin_usb.c
index 169fa1a..7927b3a 100644
--- a/libusb/os/darwin_usb.c
+++ b/libusb/os/darwin_usb.c
@@ -262,6 +262,7 @@ static void darwin_clear_iterator (io_iterator_t iter) {
static void *event_thread_main (void *arg0) {
IOReturn kresult;
struct libusb_context *ctx = (struct libusb_context *)arg0;
+ CFRunLoopRef runloop;
/* hotplug (device removal) source */
CFRunLoopSourceRef libusb_notification_cfsource;
@@ -270,7 +271,8 @@ static void *event_thread_main (void *arg0) {
usbi_info (ctx, "creating hotplug event source");
- CFRetain (CFRunLoopGetCurrent ());
+ runloop = CFRunLoopGetCurrent ();
+ CFRetain (runloop);
/* add the notification port to the run loop */
libusb_notification_port = IONotificationPortCreate (libusb_darwin_mp);
@@ -306,7 +308,7 @@ static void *event_thread_main (void *arg0) {
CFRunLoopSourceInvalidate (libusb_notification_cfsource);
IONotificationPortDestroy (libusb_notification_port);
- CFRelease (CFRunLoopGetCurrent ());
+ CFRelease (runloop);
libusb_darwin_acfl = NULL;