From: Miklos Szeredi Date: Fri, 9 Dec 2011 15:07:55 +0000 (+0100) Subject: Free request in fuse_reply_data() X-Git-Tag: fuse_2_9_0~14 X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=3c4f7e194e247a369b2e6748e5b8d5a5e212855c;p=qemu-gpiodev%2Flibfuse.git Free request in fuse_reply_data() Fix memory leak caused by a missing fuse_request_free() in fuse_reply_data(). --- 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)