From 98a383be2e36242ba8d5ff85ab893f32ebcbce78 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Thu, 7 Mar 2013 15:22:26 -0800 Subject: [PATCH] client: handle fh cleanup in ll_create() failure path Release the fh if we fail the permissions check. Signed-off-by: Sage Weil --- src/client/Client.cc | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/client/Client.cc b/src/client/Client.cc index 795d5820200..c57b7131fdc 100644 --- a/src/client/Client.cc +++ b/src/client/Client.cc @@ -7465,9 +7465,12 @@ int Client::ll_create(vinodeno_t parent, const char *name, mode_t mode, int flag if (!created) { r = check_permissions(in, flags, uid, gid); - if (r < 0) + if (r < 0) { + if (*fhp) { + _release_fh(*fhp); + } goto out; - + } if (*fhp == NULL) { r = _open(in, flags, mode, fhp); if (r < 0) -- 2.47.3