[PATCH libSM] Fix some potential memory leaks in SmcCloseConnection().

Kim Woelders kim at woelders.dk
Sat Oct 30 01:51:00 PDT 2010


Signed-off-by: Kim Woelders <kim at woelders.dk>

diff --git a/src/sm_client.c b/src/sm_client.c
index a5c714f..5454398 100644
--- a/src/sm_client.c
+++ b/src/sm_client.c
@@ -325,6 +325,22 @@ SmcCloseConnection(SmcConn smcConn, int count, char **reasonMsgs)
     if (smcConn->client_id)
 	free (smcConn->client_id);
 
+    if (smcConn->interact_waits)
+    {
+	_SmcInteractWait *ptr = smcConn->interact_waits;
+	_SmcInteractWait *next;
+
+	while (ptr)
+	{
+	    next = ptr->next;
+	    free ((char *) ptr);
+	    ptr = next;
+	}
+    }
+
+    if (smcConn->phase2_wait)
+	free (smcConn->phase2_wait);
+
     if (smcConn->prop_reply_waits)
     {
 	_SmcPropReplyWait *ptr = smcConn->prop_reply_waits;
-- 
1.7.3.2



More information about the xorg-devel mailing list