fix
diff --git a/lib/fuse.c b/lib/fuse.c
index 04fb2f0..86e97b1 100644
--- a/lib/fuse.c
+++ b/lib/fuse.c
@@ -1626,7 +1626,7 @@
         if (newlen > dh->needlen)
             return 1;
     }
-    
+
     newptr = realloc(dh->contents, newlen);
     if (!newptr) {
         dh->error = -ENOMEM;
@@ -1805,7 +1805,7 @@
 
     if ((f->flags & FUSE_ALLOW_ROOT) && in->uid != f->owner && in->uid != 0 &&
         in->opcode != FUSE_INIT && in->opcode != FUSE_READ &&
-        in->opcode != FUSE_WRITE && in->opcode != FUSE_FSYNC && 
+        in->opcode != FUSE_WRITE && in->opcode != FUSE_FSYNC &&
         in->opcode != FUSE_RELEASE && in->opcode != FUSE_READDIR &&
         in->opcode != FUSE_FSYNCDIR && in->opcode != FUSE_RELEASEDIR) {
         send_reply(f, in, -EACCES, NULL, 0);
@@ -2199,8 +2199,10 @@
         for (node = f->id_table[i]; node != NULL; node = node->id_next) {
             if (node->is_hidden) {
                 char *path = get_path(f, node->nodeid);
-                if (path)
+                if (path) {
                     f->op.unlink(path);
+                    free(path);
+                }
             }
         }
     }