]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mds/Server.cc: fix possible NULL pointer dereference
authorDanny Al-Gaaf <danny.al-gaaf@bisect.de>
Tue, 14 May 2013 17:02:20 +0000 (19:02 +0200)
committerDanny Al-Gaaf <danny.al-gaaf@bisect.de>
Tue, 14 May 2013 17:02:20 +0000 (19:02 +0200)
Assert if destdn == NULL.

CID 1019557 (#1 of 1): Dereference after null check (FORWARD_NULL)
  var_deref_model: Passing null pointer "destdn" to function
  "CDentry::get_dir() const", which dereferences it.

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

index c9fac424f6f80d44ddb33f477d7198b80339f3b4..3e89156cd93d52d7d540361cfa4b03a2d7e088f2 100644 (file)
@@ -7091,8 +7091,10 @@ void Server::_rename_rollback_finish(Mutation *mut, MDRequest *mdr, CDentry *src
   if (srcdn) {
     CInode *in = srcdn->get_linkage()->get_inode();
     // update subtree map?
-    if (in && in->is_dir())
+    if (in && in->is_dir()) {
+      assert(destdn);
       mdcache->adjust_subtree_after_rename(in, destdn->get_dir(), true);
+    }
   }
 
   if (destdn) {