From: Danny Al-Gaaf Date: Wed, 29 May 2013 13:46:53 +0000 (+0200) Subject: mds/Migrator.cc: fix dereference after null check X-Git-Tag: v0.65~168^2~4 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=0b78e2bcff368f5503aa9cd3662c1517655dea37;p=ceph.git 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 --- 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; }