From 43f7b17129ea8ab0a98f615ffc4d78ccad98309f Mon Sep 17 00:00:00 2001 From: Jason Dillaman Date: Thu, 3 May 2018 15:23:44 -0400 Subject: [PATCH] osdc: self-managed snapshot helper should catch decode exception Fixes: http://tracker.ceph.com/issues/24000 Signed-off-by: Jason Dillaman --- src/osdc/Objecter.cc | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/osdc/Objecter.cc b/src/osdc/Objecter.cc index cb2f2a6e454ae..e822d027a3aa5 100644 --- a/src/osdc/Objecter.cc +++ b/src/osdc/Objecter.cc @@ -3865,8 +3865,12 @@ struct C_SelfmanagedSnap : public Context { C_SelfmanagedSnap(snapid_t *ps, Context *f) : psnapid(ps), fin(f) {} void finish(int r) override { if (r == 0) { - bufferlist::iterator p = bl.begin(); - decode(*psnapid, p); + try { + bufferlist::iterator p = bl.begin(); + decode(*psnapid, p); + } catch (buffer::error&) { + r = -EIO; + } } fin->complete(r); } -- 2.39.5