From: Sage Weil Date: Thu, 7 Mar 2013 23:22:26 +0000 (-0800) Subject: client: handle fh cleanup in ll_create() failure path X-Git-Tag: v0.60~121^2~9 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=98a383be2e36242ba8d5ff85ab893f32ebcbce78;p=ceph.git client: handle fh cleanup in ll_create() failure path Release the fh if we fail the permissions check. Signed-off-by: Sage Weil --- diff --git a/src/client/Client.cc b/src/client/Client.cc index 795d58202006..c57b7131fdcd 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)