libpurple/protocols/msn/cmdproc.c

changeset 23235
cb7d22017162
parent 20597
69b6246d3f94
child 23864
5fda175ef2e4
--- a/libpurple/protocols/msn/cmdproc.c	Tue May 20 19:49:26 2008 +0000
+++ b/libpurple/protocols/msn/cmdproc.c	Tue May 20 20:59:21 2008 +0000
@@ -132,6 +132,14 @@
 		data = g_realloc(data, len + trans->payload_len);
 		memcpy(data + len, trans->payload, trans->payload_len);
 		len += trans->payload_len;
+
+		/*
+		 * We're done with trans->payload.  Free it so that the memory
+		 * doesn't sit around in cmdproc->history.
+		 */
+		g_free(trans->payload);
+		trans->payload = NULL;
+		trans->payload_len = 0;
 	}
 
 	msn_servconn_write(servconn, data, len);

mercurial