summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDanny Al-Gaaf <danny.al-gaaf@bisect.de>2013-05-31 19:07:45 +0200
committerDanny Al-Gaaf <danny.al-gaaf@bisect.de>2013-05-31 19:15:23 +0200
commitcfdd87cac9c24365700a28d6138665f4a6ae07b9 (patch)
tree8c91a8135f6334c4131cf94b605c2acd6a96a2e1
parente5555582bfd2672a5511d04aacf88d6a4f9709c6 (diff)
downloadceph-cfdd87cac9c24365700a28d6138665f4a6ae07b9.tar.gz
mds/Server.cc: fix dereference after null check
CID 716927 (#1 of 1): Dereference after null check (FORWARD_NULL) var_deref_model: Passing null pointer "diri->snaprealm" to function "SnapRealm::resolve_snapname(std::string const & Make sure not to dereference diri->snaprealm. Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
-rw-r--r--src/mds/Server.cc3
1 files changed, 1 insertions, 2 deletions
diff --git a/src/mds/Server.cc b/src/mds/Server.cc
index 5b23b7ff837..abeea2c12d5 100644
--- a/src/mds/Server.cc
+++ b/src/mds/Server.cc
@@ -7445,8 +7445,7 @@ void Server::handle_client_rmsnap(MDRequest *mdr)
reply_request(mdr, -EINVAL); // can't prune a parent snap, currently.
return;
}
- if (diri->snaprealm &&
- !diri->snaprealm->exists(snapname)) {
+ if (!diri->snaprealm || !diri->snaprealm->exists(snapname)) {
reply_request(mdr, -ENOENT);
return;
}