From: xie xingguo Date: Sat, 9 Jan 2016 07:55:51 +0000 (+0800) Subject: RBD: exit if we are unable to read object map footer X-Git-Tag: v10.0.3~61^2~2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=eb92c4952ed71c98cc6ebb42d7b382a7a6faddb6;p=ceph.git RBD: exit if we are unable to read object map footer Fixes: #14316 Signed-off-by: xie xingguo --- diff --git a/src/cls/rbd/cls_rbd.cc b/src/cls/rbd/cls_rbd.cc index cc27ab0e3fab..22382a20c5d4 100644 --- a/src/cls/rbd/cls_rbd.cc +++ b/src/cls/rbd/cls_rbd.cc @@ -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);