From a371c0f1d69fea131b56100492d3045c15ae072c Mon Sep 17 00:00:00 2001 From: Dunrong Huang Date: Wed, 25 Nov 2015 19:03:03 +0800 Subject: [PATCH] auth: fix a crash issue due to CryptoHandler::create() failed In this case(e.g. user passes wrong key), attempts to call the CryptoKey.ckh will lead to a segfault. This patch fixes crash issue like following: Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7fffed10e700 (LWP 25051)] 0x00007ffff59896c6 in CryptoKey::encrypt (this=0x7fffed10d4f0, cct=0x555555829c30, in=..., out=..., error=0x7fffed10d440) at auth/cephx/../Crypto.h:110 110 return ckh->encrypt(in, out, error); (gdb) bt at auth/cephx/../Crypto.h:110 at auth/cephx/CephxProtocol.h:464 Signed-off-by: Dunrong Huang (cherry picked from commit a7f520caabf997b3753f1200f19f21830531b3f5) Signed-off-by: Brad Hubbard --- src/auth/Crypto.cc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/auth/Crypto.cc b/src/auth/Crypto.cc index 4f6367dc2c6..7d7e4d50702 100644 --- a/src/auth/Crypto.cc +++ b/src/auth/Crypto.cc @@ -419,6 +419,8 @@ int CryptoKey::_set_secret(int t, const bufferptr& s) if (error.length()) { return -EIO; } + } else { + return -EOPNOTSUPP; } type = t; secret = s; -- 2.47.3