From 29524a65fa8e49aa1a15e691e712466d8c703b61 Mon Sep 17 00:00:00 2001 From: Mattias Andrée Date: Mon, 24 Aug 2015 17:03:29 +0200 Subject: mds-registry: fix memory free upon error bug MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Mattias Andrée --- src/mds-registry/mds-registry.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/mds-registry/mds-registry.c b/src/mds-registry/mds-registry.c index df3db51..f4ed92c 100644 --- a/src/mds-registry/mds-registry.c +++ b/src/mds-registry/mds-registry.c @@ -117,19 +117,17 @@ int initialise_server(void) */ fail_if (full_send(message, strlen(message))); stage++; - fail_if (hash_table_create_tuned(®_table, 32)); stage++; + fail_if (hash_table_create_tuned(®_table, 32)); reg_table.key_comparator = (compare_func*)string_comparator; reg_table.hasher = (hash_func*)string_hash; - fail_if (server_initialised() < 0); + fail_if (server_initialised() < 0); stage++; fail_if (mds_message_initialise(&received)); return 0; fail: xperror(*argv); - if (stage == 1) - hash_table_destroy(®_table, NULL, NULL); - if (stage == 2) - mds_message_destroy(&received); + if (stage >= 1) hash_table_destroy(®_table, NULL, NULL); + if (stage >= 2) mds_message_destroy(&received); return 1; } -- cgit v1.2.3-70-g09d2