Fix invalid free of memory pointer in 'struct fuse_buf'
authorRostislav <rostislav@users.noreply.github.com>
Sat, 25 Aug 2018 18:52:53 +0000 (18:52 +0000)
committerNikolaus Rath <Nikolaus@rath.org>
Sun, 26 Aug 2018 08:43:32 +0000 (09:43 +0100)
lib/fuse.c

index 2e4505b7309174ac0483af6bc661f25d6dc69516..11ffc05a6e48fa00c6382d1fa6cc73a85c634032 100644 (file)
@@ -1760,7 +1760,8 @@ static void fuse_free_buf(struct fuse_bufvec *buf)
                size_t i;
 
                for (i = 0; i < buf->count; i++)
-                       free(buf->buf[i].mem);
+                       if (!(buf->buf[0].flags & FUSE_BUF_IS_FD))
+                               free(buf->buf[i].mem);
                free(buf);
        }
 }