]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
RBD: exit if we are unable to read object map footer
authorxie xingguo <xie.xingguo@zte.com.cn>
Sat, 9 Jan 2016 07:55:51 +0000 (15:55 +0800)
committerxie xingguo <xie.xingguo@zte.com.cn>
Sat, 9 Jan 2016 07:55:51 +0000 (15:55 +0800)
Fixes: #14316
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
src/cls/rbd/cls_rbd.cc

index cc27ab0e3fab2996948996e68a7694fe6098e246..22382a20c5d44a35f03f6b1d370c44f0c26579cb 100644 (file)
@@ -2317,6 +2317,11 @@ int object_map_update(cls_method_context_t hctx, bufferlist *in, bufferlist *out
   bufferlist footer_bl;
   r = cls_cxx_read(hctx, object_map.get_footer_offset(),
                   size - object_map.get_footer_offset(), &footer_bl);
+  if (r < 0) {
+    CLS_ERR("object map footer read failed");
+    return r;
+  }
   try {
     bufferlist::iterator it = footer_bl.begin();
     object_map.decode_footer(it);