]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mds/Migrator.cc: fix dereference after null check
authorDanny Al-Gaaf <danny.al-gaaf@bisect.de>
Wed, 29 May 2013 13:46:53 +0000 (15:46 +0200)
committerDanny Al-Gaaf <danny.al-gaaf@bisect.de>
Fri, 31 May 2013 17:15:23 +0000 (19:15 +0200)
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 <danny.al-gaaf@bisect.de>
src/mds/Migrator.cc

index 9fe5451432ebce3765b890799b2f4ce723b823f1..59d7d8ebfb8731a65c0eb9c9637804836582a2f4 100644 (file)
@@ -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;
       }