From 3c4f7e194e247a369b2e6748e5b8d5a5e212855c Mon Sep 17 00:00:00 2001 From: Miklos Szeredi Date: Fri, 9 Dec 2011 16:07:55 +0100 Subject: [PATCH] Free request in fuse_reply_data() Fix memory leak caused by a missing fuse_request_free() in fuse_reply_data(). --- ChangeLog | 2 ++ lib/fuse_lowlevel.c | 6 ++++-- 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 * 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) -- 2.30.2