diff options
author | Danny Al-Gaaf <danny.al-gaaf@bisect.de> | 2013-05-29 15:51:48 +0200 |
---|---|---|
committer | Danny Al-Gaaf <danny.al-gaaf@bisect.de> | 2013-05-31 19:15:23 +0200 |
commit | d9b00c435911a969636933f8bd4f96dde7c19275 (patch) | |
tree | 3c221cbd4c87fb5dbaa7273749fc09cb81c47767 | |
parent | 0b78e2bcff368f5503aa9cd3662c1517655dea37 (diff) | |
download | ceph-d9b00c435911a969636933f8bd4f96dde7c19275.tar.gz |
mds/Server.cc: fix dereference after null check
Add assert to fix:
CID 716925 (#1 of 1): Dereference after null check (FORWARD_NULL)
var_deref_model: Passing null pointer "straydn" 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 644b3ade005..619f6d9a3ec 100644 --- a/src/mds/Server.cc +++ b/src/mds/Server.cc @@ -5089,8 +5089,10 @@ void Server::_unlink_local(MDRequest *mdr, CDentry *dn, CDentry *straydn) dn->push_projected_linkage(); - if (in->is_dir()) + if (in->is_dir()) { + assert(straydn); mds->mdcache->project_subtree_rename(in, dn->get_dir(), straydn->get_dir()); + } journal_and_reply(mdr, 0, dn, le, new C_MDS_unlink_local_finish(mds, mdr, dn, straydn)); } |