summaryrefslogtreecommitdiffstats
path: root/api
diff options
context:
space:
mode:
authorPoornima <pgurusid@redhat.com>2013-10-11 04:06:56 +0000
committerAnand Avati <avati@redhat.com>2013-10-11 12:05:55 -0700
commitd3558ae5c4b1cf6909e27e8fabd6ec44fe6aa971 (patch)
tree837fc12926b9756fe223faa6a496effddddc6f81 /api
parent86f936f4381a8d8490255ef439ec3c44ca79fe76 (diff)
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 <pgurusid@redhat.com> Reviewed-on: http://review.gluster.org/6074 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Anand Avati <avati@redhat.com>
Diffstat (limited to 'api')
-rw-r--r--api/src/glfs-fops.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/api/src/glfs-fops.c b/api/src/glfs-fops.c
index e411f5a8304..8119cc4f693 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);