From 202c4946a60dbf17e96757ce44a0c1cc89c176a1 Mon Sep 17 00:00:00 2001 From: James Booth Date: Tue, 2 Jun 2015 00:41:35 +0100 Subject: [PATCH] Fixed double free --- src/server/parser.c | 3 --- src/server/prime.c | 2 +- src/server/server.c | 2 -- 3 files changed, 1 insertion(+), 6 deletions(-) diff --git a/src/server/parser.c b/src/server/parser.c index 1b5095a..6df1f81 100644 --- a/src/server/parser.c +++ b/src/server/parser.c @@ -70,9 +70,6 @@ XMPPStanza * parse_stanza(char *stanza_text) { depth = 0; - if (curr_stanza) { - stanza_free(curr_stanza); - } XML_Parser parser = XML_ParserCreate(NULL); XML_SetElementHandler(parser, start_element, end_element); XML_SetCharacterDataHandler(parser, handle_data); diff --git a/src/server/prime.c b/src/server/prime.c index 4d48bad..a7995e4 100644 --- a/src/server/prime.c +++ b/src/server/prime.c @@ -49,8 +49,8 @@ prime_free_all(void) if (idstubs) { g_hash_table_destroy(idstubs); } + idstubs = NULL; - querystubs = NULL; if (querystubs) { g_hash_table_destroy(querystubs); } diff --git a/src/server/server.c b/src/server/server.c index 74cdabe..f28fb61 100644 --- a/src/server/server.c +++ b/src/server/server.c @@ -232,8 +232,6 @@ query_callback(const char *query, const char *id) stanza_set_id(stanza, id); char *stream = stanza_to_string(stanza); write_stream(stream); - - stanza_free(stanza); free(stream); } }