diff options
| author | 2012-01-17 23:32:49 +0100 | |
|---|---|---|
| committer | 2012-01-17 23:32:49 +0100 | |
| commit | 94c2752bef5fe1c3954e6801ae3e30ed9c16165a (patch) | |
| tree | 93d192a492235f71a2acea35ae2f2da16ed02e59 /libusbmuxd/libusbmuxd.c | |
| parent | 8968476bb5262d8aef20cb199337b174d338beb8 (diff) | |
| download | usbmuxd-94c2752bef5fe1c3954e6801ae3e30ed9c16165a.tar.gz usbmuxd-94c2752bef5fe1c3954e6801ae3e30ed9c16165a.tar.bz2 | |
libusbmuxd: free device info after removing it from collection
Diffstat (limited to 'libusbmuxd/libusbmuxd.c')
| -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; | |||
| 71 | HANDLE devmon = NULL; | 71 | HANDLE devmon = NULL; |
| 72 | #else | 72 | #else |
| 73 | pthread_t devmon; | 73 | pthread_t devmon; |
| 74 | pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER; | ||
| 74 | #endif | 75 | #endif |
| 75 | static int listenfd = -1; | 76 | static int listenfd = -1; |
| 76 | 77 | ||
| @@ -526,6 +527,7 @@ int get_next_event(int sfd, usbmuxd_event_cb_t callback, void *user_data) | |||
| 526 | FOREACH(usbmuxd_device_info_t *dev, &devices) { | 527 | FOREACH(usbmuxd_device_info_t *dev, &devices) { |
| 527 | generate_event(callback, dev, UE_DEVICE_REMOVE, user_data); | 528 | generate_event(callback, dev, UE_DEVICE_REMOVE, user_data); |
| 528 | collection_remove(&devices, dev); | 529 | collection_remove(&devices, dev); |
| 530 | free(dev); | ||
| 529 | } ENDFOREACH | 531 | } ENDFOREACH |
| 530 | return -EIO; | 532 | return -EIO; |
| 531 | } | 533 | } |
| @@ -563,6 +565,7 @@ int get_next_event(int sfd, usbmuxd_event_cb_t callback, void *user_data) | |||
| 563 | } else { | 565 | } else { |
| 564 | generate_event(callback, devinfo, UE_DEVICE_REMOVE, user_data); | 566 | generate_event(callback, devinfo, UE_DEVICE_REMOVE, user_data); |
| 565 | collection_remove(&devices, devinfo); | 567 | collection_remove(&devices, devinfo); |
| 568 | free(devinfo); | ||
| 566 | } | 569 | } |
| 567 | } else { | 570 | } else { |
| 568 | fprintf(stderr, "%s: Unexpected message type %d length %d received!\n", __func__, hdr.message, hdr.length); | 571 | fprintf(stderr, "%s: Unexpected message type %d length %d received!\n", __func__, hdr.message, hdr.length); |
