libfuse: fix possible memory leak
authorMiklos Szeredi <mszeredi@suse.cz>
Mon, 29 Jun 2015 16:08:07 +0000 (18:08 +0200)
committerMiklos Szeredi <mszeredi@suse.cz>
Mon, 29 Jun 2015 16:14:42 +0000 (18:14 +0200)
Reported by Jose R. Guzman

ChangeLog
lib/fuse_lowlevel.c

index ff0d1b23ff6acf1b629cb79928705d603c6838c8..53a5bcc12e0024415548abbf54d17ab0c62c65db 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2015-06-29  Miklos Szeredi <miklos@szeredi.hu>
+
+       * libfuse: fix possible memory leak.  Reported by Jose R. Guzman
+
 2015-05-26  Miklos Szeredi <miklos@szeredi.hu>
 
        * Use system directory for system-wide udev rules by default. This
index f25d56fe3c8892a4cea19215f25c07115229fe5f..0d66ccccb1da13bf725f6271b872dacb923d2ce4 100755 (executable)
@@ -793,11 +793,11 @@ static int fuse_send_data_iov(struct fuse_ll *f, struct fuse_chan *ch,
                                goto clear_pipe;
                        }
                        res = read_back(llp->pipe[0], tmpbuf, headerlen);
+                       free(tmpbuf);
                        if (res != 0) {
                                free(mbuf);
                                goto clear_pipe;
                        }
-                       free(tmpbuf);
                        res = read_back(llp->pipe[0], mbuf, now_len);
                        if (res != 0) {
                                free(mbuf);