MDEV-19617 Assertion `src' failed in MyCTX::update
Apprently, sometimes there will be null pointers with 0 length passed to the MyCTX::update() function, and will need to return a valid buffer. So weaken the assertion, and use a valid pointer for src if it was NULL.
This commit is contained in:
parent
5e36f5dd00
commit
1df42a2ca0
@ -60,7 +60,16 @@ public:
|
|||||||
}
|
}
|
||||||
virtual int update(const uchar *src, uint slen, uchar *dst, uint *dlen)
|
virtual int update(const uchar *src, uint slen, uchar *dst, uint *dlen)
|
||||||
{
|
{
|
||||||
DBUG_ASSERT(src);
|
#ifdef HAVE_WOLFSSL
|
||||||
|
// WolfSSL checks parameters and does not like NULL pointers to be passed to function below.
|
||||||
|
if (!src)
|
||||||
|
{
|
||||||
|
static const uchar dummy[MY_AES_BLOCK_SIZE];
|
||||||
|
DBUG_ASSERT(!slen);
|
||||||
|
src=dummy;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
if (EVP_CipherUpdate(ctx, dst, (int*)dlen, src, slen) != 1)
|
if (EVP_CipherUpdate(ctx, dst, (int*)dlen, src, slen) != 1)
|
||||||
return MY_AES_OPENSSL_ERROR;
|
return MY_AES_OPENSSL_ERROR;
|
||||||
return MY_AES_OK;
|
return MY_AES_OK;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user