From d3558ae5c4b1cf6909e27e8fabd6ec44fe6aa971 Mon Sep 17 00:00:00 2001 From: Poornima Date: Fri, 11 Oct 2013 04:06:56 +0000 Subject: gfapi: Fix iobuf leaks in gfapi In glfs_readv, if syncop_readv() fails with return value <= 0 the iobref was not being unrefd which would cause iobuf leaks. Change-Id: I9850ae149e53cf75ba26f8b5f4c5446cce4b5991 BUG: 1018176 Signed-off-by: Poornima Reviewed-on: http://review.gluster.org/6074 Tested-by: Gluster Build System Reviewed-by: Anand Avati --- api/src/glfs-fops.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/api/src/glfs-fops.c b/api/src/glfs-fops.c index e411f5a83..8119cc4f6 100644 --- a/api/src/glfs-fops.c +++ b/api/src/glfs-fops.c @@ -495,13 +495,13 @@ glfs_preadv (struct glfs_fd *glfd, const struct iovec *iovec, int iovcnt, glfd->offset = (offset + size); - if (iov) - GF_FREE (iov); - if (iobref) - iobref_unref (iobref); - ret = size; out: + if (iov) + GF_FREE (iov); + if (iobref) + iobref_unref (iobref); + if (fd) fd_unref (fd); -- cgit