From d4ef9215fd00b08a198986fde4af5635833555ec Mon Sep 17 00:00:00 2001 From: Samuel Just Date: Mon, 7 Nov 2011 15:04:02 -0800 Subject: [PATCH] common: return null if mc.init() unsuccessful Prevents ceph.cc from segfaulting on missing keyring. Signed-off-by: Samuel Just --- src/tools/common.cc | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/tools/common.cc b/src/tools/common.cc index b14cf2285c2d2..8553b38b4058a 100644 --- a/src/tools/common.cc +++ b/src/tools/common.cc @@ -618,13 +618,15 @@ CephToolCtx* ceph_tool_common_init(ceph_tool_mode_t mode, bool concise) ctx->dispatcher = new Admin(ctx.get()); messenger->add_dispatcher_head(ctx->dispatcher); + ctx->mc.set_messenger(messenger); + int r = ctx->mc.init(); + if (r < 0) + return NULL; + ctx->lock.Lock(); ctx->timer.init(); ctx->lock.Unlock(); - ctx->mc.set_messenger(messenger); - ctx->mc.init(); - // in case we 'tell ...' ctx->mc.set_want_keys(CEPH_ENTITY_TYPE_MDS | CEPH_ENTITY_TYPE_OSD); -- 2.39.5