diff options
author | Danny Al-Gaaf <danny.al-gaaf@bisect.de> | 2013-05-14 19:02:20 +0200 |
---|---|---|
committer | Danny Al-Gaaf <danny.al-gaaf@bisect.de> | 2013-05-14 19:02:20 +0200 |
commit | c87788b69b82abaa9202e624d255033a0c5766b4 (patch) | |
tree | 80e5fc677018b39c1df78311c25f2d992e4ca581 | |
parent | 088455f85e4a684d270b82c4b2b26edab3e1ad99 (diff) | |
download | ceph-c87788b69b82abaa9202e624d255033a0c5766b4.tar.gz |
mds/Server.cc: fix possible NULL pointer dereference
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>
-rw-r--r-- | src/mds/Server.cc | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/mds/Server.cc b/src/mds/Server.cc index c9fac424f6f..3e89156cd93 100644 --- a/src/mds/Server.cc +++ b/src/mds/Server.cc @@ -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) { |