]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
Objecter: fix potential null pointer access
authorxie xingguo <xie.xingguo@zte.com.cn>
Fri, 8 Jan 2016 05:18:12 +0000 (13:18 +0800)
committerxie xingguo <xie.xingguo@zte.com.cn>
Fri, 8 Jan 2016 05:18:12 +0000 (13:18 +0800)
Fixes: #14301
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
src/osdc/Objecter.cc

index a4d7619664583f3f9dbbf757794441fda3d8de2f..906176d9b22fc812aca91a0c667ee26e5b4961bb 100644 (file)
@@ -4974,6 +4974,12 @@ void Objecter::_enumerate_reply(
     // drop anything after 'end'
     rwlock.get_read();
     const pg_pool_t *pool = osdmap->get_pg_pool(pool_id);
+    if (!pool) {
+      // pool is gone, drop any results which are now meaningless.
+      rwlock.put_read();
+      on_finish->complete(-ENOENT);
+      return;
+    }
     while (!response.entries.empty()) {
       uint32_t hash = response.entries.back().locator.empty() ?
        pool->hash_key(response.entries.back().oid,