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 <riegamaths@gmail.com>
(cherry picked from commit
a7f520caabf997b3753f1200f19f21830531b3f5)
Signed-off-by: Brad Hubbard <bhubbard@redhat.com>
if (error.length()) {
return -EIO;
}
+ } else {
+ return -EOPNOTSUPP;
}
type = t;
secret = s;