diff libpurple/protocols/simple/simple.c @ 30125:ff8a91b1f795

Lots of little memleak fixes
author Mark Doliner <mark@kingant.net>
date Mon, 12 Apr 2010 07:58:08 +0000
parents 0fb628a28e5c
children 6e2a246a8d74
line wrap: on
line diff
--- a/libpurple/protocols/simple/simple.c	Mon Apr 12 07:13:52 2010 +0000
+++ b/libpurple/protocols/simple/simple.c	Mon Apr 12 07:58:08 2010 +0000
@@ -1653,6 +1653,7 @@
 		}
 		purple_debug(PURPLE_DEBUG_MISC, "simple", "in process response response: %d\n", msg->response);
 		process_input_message(sip, msg);
+		sipmsg_free(msg);
 	} else {
 		purple_debug(PURPLE_DEBUG_MISC, "simple", "received a incomplete sip msg: %s\n", conn->inbuf);
 	}
@@ -1671,6 +1672,7 @@
 		purple_debug_info("simple", "\n\nreceived - %s\n######\n%s\n#######\n\n", ctime(&currtime), buffer);
 		msg = sipmsg_parse_msg(buffer);
 		if(msg) process_input_message(sip, msg);
+		sipmsg_free(msg);
 	}
 }
 
@@ -2021,6 +2023,9 @@
 	g_free(sip->proxy.target);
 	g_free(sip->proxy.realm);
 	g_free(sip->proxy.digest_session_key);
+	g_free(sip->status);
+	g_hash_table_destroy(sip->buddies);
+	g_free(sip->regcallid);
 	g_free(sip->publish_etag);
 	if (sip->txbuf)
 		purple_circ_buffer_destroy(sip->txbuf);