summaryrefslogtreecommitdiffstats
path: root/xlators/mgmt/glusterd/src/glusterd-utils.c
diff options
context:
space:
mode:
authorAvra Sengupta <asengupt@redhat.com>2016-10-18 12:52:36 +0530
committerRajesh Joseph <rjoseph@redhat.com>2016-10-25 00:16:43 -0700
commit48a4c4e525665115f7e8c478d3bf51764427378d (patch)
tree48b920d682695e888165e2d7e80c5671e35d5028 /xlators/mgmt/glusterd/src/glusterd-utils.c
parenta6b63e11b7758cf1bfcb67985e25ec02845f0995 (diff)
snapshot: Fix for memory leaks in snapshot code path
Change-Id: Idc2cb16574d166e3c0ee1f7c3a485f1acb19fc8c BUG: 1386088 Signed-off-by: Avra Sengupta <asengupt@redhat.com> Reviewed-on: http://review.gluster.org/15668 NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org> CentOS-regression: Gluster Build System <jenkins@build.gluster.org> Smoke: Gluster Build System <jenkins@build.gluster.org> Reviewed-by: Rajesh Joseph <rjoseph@redhat.com>
Diffstat (limited to 'xlators/mgmt/glusterd/src/glusterd-utils.c')
-rw-r--r--xlators/mgmt/glusterd/src/glusterd-utils.c17
1 files changed, 15 insertions, 2 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-utils.c b/xlators/mgmt/glusterd/src/glusterd-utils.c
index 48232ffdaa8..d916444a9b2 100644
--- a/xlators/mgmt/glusterd/src/glusterd-utils.c
+++ b/xlators/mgmt/glusterd/src/glusterd-utils.c
@@ -866,6 +866,8 @@ glusterd_brickinfo_delete (glusterd_brickinfo_t *brickinfo)
cds_list_del_init (&brickinfo->brick_list);
+ (void) gf_store_handle_destroy (brickinfo->shandle);
+
GF_FREE (brickinfo->logfile);
GF_FREE (brickinfo);
@@ -927,6 +929,9 @@ glusterd_volinfo_delete (glusterd_volinfo_t *volinfo)
dict_unref (volinfo->rebal.dict);
gf_store_handle_destroy (volinfo->quota_conf_shandle);
+ gf_store_handle_destroy (volinfo->shandle);
+ gf_store_handle_destroy (volinfo->node_state_shandle);
+ gf_store_handle_destroy (volinfo->snapd.handle);
glusterd_auth_cleanup (volinfo);
@@ -1055,6 +1060,9 @@ glusterd_get_brick_mount_dir (char *brickpath, char *hostname, char *mount_dir)
}
out:
+ if (mnt_pt)
+ GF_FREE(mnt_pt);
+
gf_msg_trace (this->name, 0, "Returning %d", ret);
return ret;
}
@@ -5597,7 +5605,8 @@ glusterd_add_brick_mount_details (glusterd_brickinfo_t *brickinfo,
ret = dict_set_dynstr_with_alloc (dict, key, entry->mnt_opts);
out:
- GF_FREE (mnt_pt);
+ if (mnt_pt)
+ GF_FREE (mnt_pt);
return ret;
}
@@ -5640,6 +5649,9 @@ glusterd_get_brick_mount_device (char *brick_path)
device = gf_strdup (entry->mnt_fsname);
out:
+ if (mnt_pt)
+ GF_FREE(mnt_pt);
+
return device;
}
@@ -10828,7 +10840,8 @@ glusterd_update_mntopts (char *brick_path, glusterd_brickinfo_t *brickinfo)
ret = 0;
out:
- GF_FREE (mnt_pt);
+ if (mnt_pt)
+ GF_FREE (mnt_pt);
return ret;
}