From: Danny Al-Gaaf Date: Wed, 29 May 2013 13:51:48 +0000 (+0200) Subject: mds/Server.cc: fix dereference after null check X-Git-Tag: v0.65~168^2~3 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=d9b00c435911a969636933f8bd4f96dde7c19275;p=ceph.git 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 --- diff --git a/src/mds/Server.cc b/src/mds/Server.cc index 644b3ade0052..619f6d9a3ec2 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)); }