From 751b14f2bfd40e08ad395ccd98c6eb0a41ac4e91 Mon Sep 17 00:00:00 2001 From: Mohit Agrawal Date: Fri, 16 Nov 2018 09:25:02 +0530 Subject: core: Resolve memory leak at the time of graph init Problem: Memory leak when graph init fails as during volfile exchange between brick and glusterd Solution: Fix the error code path in glusterfs_graph_init Change-Id: If62bee61283fccb7fd60abc6ea217cfac12358fa fixes: bz#1651431 Signed-off-by: Mohit Agrawal --- glusterfsd/src/glusterfsd.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'glusterfsd') diff --git a/glusterfsd/src/glusterfsd.c b/glusterfsd/src/glusterfsd.c index f9f263aae66..106bfe3bcc1 100644 --- a/glusterfsd/src/glusterfsd.c +++ b/glusterfsd/src/glusterfsd.c @@ -2583,11 +2583,14 @@ out: if (fp) fclose(fp); - if (ret && !ctx->active) { - glusterfs_graph_destroy(graph); + if (ret) { + if (graph && (ctx && (ctx->active != graph))) + glusterfs_graph_destroy(graph); /* there is some error in setting up the first graph itself */ - emancipate(ctx, ret); - cleanup_and_exit(ret); + if (!ctx->active) { + emancipate(ctx, ret); + cleanup_and_exit(ret); + } } return ret; -- cgit