diff options
author | Nikias Bassen | 2012-01-17 23:32:49 +0100 |
---|---|---|
committer | Nikias Bassen | 2012-01-17 23:32:49 +0100 |
commit | 94c2752bef5fe1c3954e6801ae3e30ed9c16165a (patch) | |
tree | 93d192a492235f71a2acea35ae2f2da16ed02e59 | |
parent | 8968476bb5262d8aef20cb199337b174d338beb8 (diff) | |
download | usbmuxd-94c2752bef5fe1c3954e6801ae3e30ed9c16165a.tar.gz usbmuxd-94c2752bef5fe1c3954e6801ae3e30ed9c16165a.tar.bz2 |
libusbmuxd: free device info after removing it from collection
-rw-r--r-- | libusbmuxd/libusbmuxd.c | 3 |
1 files changed, 3 insertions, 0 deletions
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); |