From 0b78e2bcff368f5503aa9cd3662c1517655dea37 Mon Sep 17 00:00:00 2001 From: Danny Al-Gaaf Date: Wed, 29 May 2013 15:46:53 +0200 Subject: [PATCH] mds/Migrator.cc: fix dereference after null check Add asserts to check for 'dir' to fix: CID 716924 (#1-5 of 5): Dereference after null check (FORWARD_NULL) var_deref_model: Passing null pointer "dir" to function "operator <<(std::ostream &, CDir &)", which dereferences it. Signed-off-by: Danny Al-Gaaf --- src/mds/Migrator.cc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/mds/Migrator.cc b/src/mds/Migrator.cc index 9fe5451432eb..59d7d8ebfb87 100644 --- a/src/mds/Migrator.cc +++ b/src/mds/Migrator.cc @@ -414,11 +414,13 @@ void Migrator::handle_mds_failure_or_stop(int who) break; case IMPORT_LOGGINGSTART: + assert(dir); dout(10) << "import state=loggingstart : reversing import on " << *dir << dendl; import_reverse(dir); break; case IMPORT_ACKING: + assert(dir); // hrm. make this an ambiguous import, and wait for exporter recovery to disambiguate dout(10) << "import state=acking : noting ambiguous import " << *dir << dendl; { @@ -429,6 +431,7 @@ void Migrator::handle_mds_failure_or_stop(int who) break; case IMPORT_ABORTING: + assert(dir); dout(10) << "import state=aborting : ignoring repeat failure " << *dir << dendl; break; } -- 2.47.3