From f8065b26df76f9057e2d42db8bd1c68825f222c6 Mon Sep 17 00:00:00 2001
From: Aaron Burghardt
Date: Fri, 12 Jul 2013 17:55:58 +0200
Subject: libusbmuxd: fix memory leak when receiving plist packets

---
 libusbmuxd/libusbmuxd.c | 3 +++
 1 file changed, 3 insertions(+)

(limited to 'libusbmuxd')

diff --git a/libusbmuxd/libusbmuxd.c b/libusbmuxd/libusbmuxd.c
index 956dd90..31d1c7c 100644
--- a/libusbmuxd/libusbmuxd.c
+++ b/libusbmuxd/libusbmuxd.c
@@ -181,6 +181,7 @@ static int receive_packet(int sfd, struct usbmuxd_header *header, void **payload
 				plist_t props = plist_dict_get_item(plist, "Properties");
 				if (!props) {
 					DEBUG(1, "%s: Could not get properties for message '%s' from plist!\n", __func__, message);
+					free(message);
 					plist_free(plist);
 					return -EBADMSG;
 				}
@@ -222,9 +223,11 @@ static int receive_packet(int sfd, struct usbmuxd_header *header, void **payload
 				}
 			} else {
 				DEBUG(1, "%s: Unexpected message '%s' in plist!\n", __func__, message);
+				free(message);
 				plist_free(plist);
 				return -EBADMSG;
 			}
+			free(message);
 		}
 		plist_free(plist);
 	} else
-- 
cgit v1.1-32-gdbae