From 94c2752bef5fe1c3954e6801ae3e30ed9c16165a Mon Sep 17 00:00:00 2001 From: Nikias Bassen Date: Tue, 17 Jan 2012 23:32:49 +0100 Subject: libusbmuxd: free device info after removing it from collection --- libusbmuxd/libusbmuxd.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libusbmuxd/libusbmuxd.c b/libusbmuxd/libusbmuxd.c index 98e92df..a6a8c86 100644 --- a/libusbmuxd/libusbmuxd.c +++ b/libusbmuxd/libusbmuxd.c @@ -71,6 +71,7 @@ static usbmuxd_event_cb_t event_cb = NULL; HANDLE devmon = NULL; #else pthread_t devmon; +pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER; #endif static int listenfd = -1; @@ -526,6 +527,7 @@ int get_next_event(int sfd, usbmuxd_event_cb_t callback, void *user_data) FOREACH(usbmuxd_device_info_t *dev, &devices) { generate_event(callback, dev, UE_DEVICE_REMOVE, user_data); collection_remove(&devices, dev); + free(dev); } ENDFOREACH return -EIO; } @@ -563,6 +565,7 @@ int get_next_event(int sfd, usbmuxd_event_cb_t callback, void *user_data) } else { generate_event(callback, devinfo, UE_DEVICE_REMOVE, user_data); collection_remove(&devices, devinfo); + free(devinfo); } } else { fprintf(stderr, "%s: Unexpected message type %d length %d received!\n", __func__, hdr.message, hdr.length); -- cgit v1.1-32-gdbae