fix
diff --git a/lib/fuse.c b/lib/fuse.c
index a207fc0..a4d547a 100644
--- a/lib/fuse.c
+++ b/lib/fuse.c
@@ -215,7 +215,7 @@
node = (struct node *) calloc(1, sizeof(struct node));
if (node == NULL)
- return NULL;
+ goto out_err;
node->mode = mode;
node->rdev = rdev;
@@ -225,12 +225,14 @@
node->generation = f->generation;
if (hash_name(f, node, parent, name) == -1) {
free(node);
- return NULL;
+ node = NULL;
+ goto out_err;
}
hash_ino(f, node);
- out:
+ out:
node->version = version;
+ out_err:
pthread_mutex_unlock(&f->lock);
return node;
}