From da2f8d09de5da89e544a0d56a1b46c234d3ecb5b Mon Sep 17 00:00:00 2001 From: Raghavendra Talur Date: Fri, 6 Mar 2015 13:26:30 +0530 Subject: cluster/ec: Fix iobuf mem leak iobuf_get and iobref_add implicitly ref the iobuf. Hence, it is necessary to unref iobuf before setting it to NULL. Change-Id: Icadd8925574cf04fe708d8090868e49356653a8e Signed-off-by: Raghavendra Talur Reviewed-on: http://review.gluster.org/9818 Tested-by: Gluster Build System Reviewed-by: Niels de Vos Reviewed-by: Xavier Hernandez Reviewed-by: Vijay Bellur --- xlators/cluster/ec/src/ec-inode-write.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'xlators') diff --git a/xlators/cluster/ec/src/ec-inode-write.c b/xlators/cluster/ec/src/ec-inode-write.c index 3a6379a6a33..6b485a26fbc 100644 --- a/xlators/cluster/ec/src/ec-inode-write.c +++ b/xlators/cluster/ec/src/ec-inode-write.c @@ -900,9 +900,9 @@ int32_t ec_truncate_write(ec_fop_data_t * fop, uintptr_t mask) vector.iov_base = iobuf->ptr; vector.iov_len = fop->offset * ec->fragments - fop->user_size; + memset(vector.iov_base, 0, vector.iov_len); - memset(iobuf->ptr, 0, vector.iov_len); - + iobuf_unref (iobuf); iobuf = NULL; ec_writev(fop->frame, fop->xl, mask, fop->minimum, NULL, NULL, fop->fd, -- cgit