summaryrefslogtreecommitdiffstats
path: root/xlators
diff options
context:
space:
mode:
authorXie Changlong <xiechanglong@cmss.chinamobile.com>2019-12-02 13:20:02 +0800
committerXavi Hernandez <xhernandez@redhat.com>2019-12-10 10:27:58 +0000
commit86f54c6f82eae33f4070705678fc3b0ff6b7e3d5 (patch)
treeb1ce4ca71d7d8a63a7d7bd1034bbbb9417a1a212 /xlators
parent8030f9c0f092170ceb50cedf59b9c330022825b7 (diff)
fuse: add missing unlock
updates: bz#1193929 Change-Id: I50f75f730ea6970e99347fcee661ce9dc8477725 Signed-off-by: Xie Changlong <xiechanglong@cmss.chinamobile.com>
Diffstat (limited to 'xlators')
-rw-r--r--xlators/mount/fuse/src/fuse-helpers.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/xlators/mount/fuse/src/fuse-helpers.c b/xlators/mount/fuse/src/fuse-helpers.c
index 3b00eee8f6a..fd11f2ba652 100644
--- a/xlators/mount/fuse/src/fuse-helpers.c
+++ b/xlators/mount/fuse/src/fuse-helpers.c
@@ -309,8 +309,10 @@ get_groups(fuse_private_t *priv, call_frame_t *frame)
gl = gid_cache_lookup(&priv->gid_cache, frame->root->pid, frame->root->uid,
frame->root->gid);
if (gl) {
- if (call_stack_alloc_groups(frame->root, gl->gl_count) != 0)
+ if (call_stack_alloc_groups(frame->root, gl->gl_count) != 0) {
+ gid_cache_release(&priv->gid_cache, gl);
return;
+ }
frame->root->ngrps = gl->gl_count;
for (i = 0; i < gl->gl_count; i++)
frame->root->groups[i] = gl->gl_list[i];