]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
CInode::encode_cap_message: add assert for cap
authorDanny Al-Gaaf <danny.al-gaaf@bisect.de>
Thu, 13 Mar 2014 16:59:41 +0000 (17:59 +0100)
committerDanny Al-Gaaf <danny.al-gaaf@bisect.de>
Thu, 13 Mar 2014 16:59:41 +0000 (17:59 +0100)
CID 716913 (#1 of 1): Dereference after null check (FORWARD_NULL)
5. var_deref_op: Dereferencing null pointer "cap".

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
src/mds/CInode.cc

index 1ce2ee80b7c4c210b83521529c496a39e329240d..0704baa2513e0d51e6ee7ce8873a57ad9faa808f 100644 (file)
@@ -3031,10 +3031,11 @@ int CInode::encode_inodestat(bufferlist& bl, Session *session,
 
 void CInode::encode_cap_message(MClientCaps *m, Capability *cap)
 {
+  assert(cap);
+
   client_t client = cap->get_client();
 
-  bool pfile = filelock.is_xlocked_by_client(client) ||
-    (cap && (cap->issued() & CEPH_CAP_FILE_EXCL));
+  bool pfile = filelock.is_xlocked_by_client(client) || (cap->issued() & CEPH_CAP_FILE_EXCL);
   bool pauth = authlock.is_xlocked_by_client(client);
   bool plink = linklock.is_xlocked_by_client(client);
   bool pxattr = xattrlock.is_xlocked_by_client(client);