aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMiklos Szeredi <mszeredi@suse.cz>2011-12-09 16:07:55 +0100
committerMiklos Szeredi <mszeredi@suse.cz>2011-12-09 16:07:55 +0100
commit3c4f7e194e247a369b2e6748e5b8d5a5e212855c (patch)
tree0d7a0b897b4befa1dff484a6a6ff416cb3443d8f
parent4dc7e675bb17c7a126c78de75004877646d7605f (diff)
downloadandroid_external_fuse-3c4f7e194e247a369b2e6748e5b8d5a5e212855c.tar.gz
android_external_fuse-3c4f7e194e247a369b2e6748e5b8d5a5e212855c.tar.bz2
android_external_fuse-3c4f7e194e247a369b2e6748e5b8d5a5e212855c.zip
Free request in fuse_reply_data()
Fix memory leak caused by a missing fuse_request_free() in fuse_reply_data().
-rw-r--r--ChangeLog2
-rw-r--r--lib/fuse_lowlevel.c6
2 files changed, 6 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 3f9ba39..404c81f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -6,6 +6,8 @@
returned for unlinked but still open files if the kernel sent a
FORGET request for the parent directory.
+ * Free request in fuse_reply_data().
+
2011-12-08 Miklos Szeredi <miklos@szeredi.hu>
* Fix build if FUSE_NODE_SLAB is not defined. Patch by Emmanuel
diff --git a/lib/fuse_lowlevel.c b/lib/fuse_lowlevel.c
index 3bfc993..b1c7a24 100644
--- a/lib/fuse_lowlevel.c
+++ b/lib/fuse_lowlevel.c
@@ -769,10 +769,12 @@ int fuse_reply_data(fuse_req_t req, struct fuse_bufvec *bufv,
out.error = 0;
res = fuse_send_data_iov(req->f, req->ch, iov, 1, bufv, flags);
- if (res <= 0)
+ if (res <= 0) {
+ fuse_free_req(req);
return res;
- else
+ } else {
return fuse_reply_err(req, res);
+ }
}
int fuse_reply_statfs(fuse_req_t req, const struct statvfs *stbuf)