From c6fb212a74630005ffd2b248d2c61e7c26121012 Mon Sep 17 00:00:00 2001 From: James Booth Date: Mon, 18 May 2015 00:33:24 +0100 Subject: [PATCH] Free primes --- src/server/prime.c | 9 +++++++++ src/server/prime.h | 1 + src/server/server.c | 1 + 3 files changed, 11 insertions(+) diff --git a/src/server/prime.c b/src/server/prime.c index af787d2..a460767 100644 --- a/src/server/prime.c +++ b/src/server/prime.c @@ -13,6 +13,15 @@ prime_init(void) idstubs = g_hash_table_new_full(g_str_hash, g_str_equal, free, free); } +void +prime_free_all(void) +{ + free(required_passwd); + if (idstubs) { + g_hash_table_destroy(idstubs); + } +} + void prime_required_passwd(char *password) { diff --git a/src/server/prime.h b/src/server/prime.h index 914884d..c1f803e 100644 --- a/src/server/prime.h +++ b/src/server/prime.h @@ -2,6 +2,7 @@ #define __H_PRIME void prime_init(void); +void prime_free_all(void); void prime_required_passwd(char *password); char* prime_get_passwd(void); diff --git a/src/server/server.c b/src/server/server.c index 03a4911..66800b2 100644 --- a/src/server/server.c +++ b/src/server/server.c @@ -226,6 +226,7 @@ _shutdown(void) shutdown(listen_socket, 2); close(listen_socket); + prime_free_all(); stanza_free_all(); log_close(); }