# HG changeset patch # User Daniel Atallah # Date 1184949099 0 # Node ID 94f4048f13809827cfc9dfac2a4a3c1ec642f8f7 # Parent 44e07aa8386a07deae0cc442e9da504946f052e5 Fix from Will Hawkins to plug some leaks in error cases for the SIMPLE prpl. References #2181. diff -r 44e07aa8386a -r 94f4048f1380 COPYRIGHT --- a/COPYRIGHT Fri Jul 20 05:09:46 2007 +0000 +++ b/COPYRIGHT Fri Jul 20 16:31:39 2007 +0000 @@ -156,6 +156,7 @@ Andy Harrison Andrew Hart (arhart) Rene Hausleitner +Will Hawkins G. Sumner Hayes Michael R. Head Nick Hebner diff -r 44e07aa8386a -r 94f4048f1380 libpurple/protocols/simple/simple.c --- a/libpurple/protocols/simple/simple.c Fri Jul 20 05:09:46 2007 +0000 +++ b/libpurple/protocols/simple/simple.c Fri Jul 20 16:31:39 2007 +0000 @@ -976,14 +976,16 @@ if(!isc) { purple_debug_info("simple", "process_incoming_message: can not parse iscomposing\n"); + g_free(from); return; } state = xmlnode_get_child(isc, "state"); if(!state) { - purple_debug_info("simple", "process_incoming_message: no state found\n"); - xmlnode_free(isc); + purple_debug_info("simple", "process_incoming_message: no state found\n"); + xmlnode_free(isc); + g_free(from); return; } @@ -1063,6 +1065,7 @@ if(!pidf) { purple_debug_info("simple", "process_incoming_notify: no parseable pidf\n"); + g_free(from); return; } @@ -1073,6 +1076,7 @@ if(!basicstatus) { purple_debug_info("simple", "process_incoming_notify: no basic found\n"); xmlnode_free(pidf); + g_free(from); return; } @@ -1081,6 +1085,7 @@ if(!tmp2) { purple_debug_info("simple", "process_incoming_notify: no basic data found\n"); xmlnode_free(pidf); + g_free(from); return; }