diff --git a/vendored/libfuse/lib/fuse.cpp b/vendored/libfuse/lib/fuse.cpp index 53e45faf..abc81e30 100644 --- a/vendored/libfuse/lib/fuse.cpp +++ b/vendored/libfuse/lib/fuse.cpp @@ -465,20 +465,20 @@ unhash_name(node_t *node) for(; *nodep != NULL; nodep = &(*nodep)->name_next) { - if(*nodep == node) - { - *nodep = node->name_next; - node->name_next = NULL; - unref_node(node->parent); - free(node->name); - node->name = NULL; - node->parent = NULL; - f.name_table.use--; + if(*nodep != node) + continue; - if(f.name_table.use < f.name_table.size / 4) - remerge_name(); - return; - } + *nodep = node->name_next; + node->name_next = NULL; + unref_node(node->parent); + free(node->name); + node->name = NULL; + node->parent = NULL; + f.name_table.use--; + + if(f.name_table.use < f.name_table.size / 4) + remerge_name(); + return; } fprintf(stderr,