summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mysys_ssl/my_crypt.cc1
-rw-r--r--sql/log_event.cc5
2 files changed, 5 insertions, 1 deletions
diff --git a/mysys_ssl/my_crypt.cc b/mysys_ssl/my_crypt.cc
index e83c949f21e..383cec07ddd 100644
--- a/mysys_ssl/my_crypt.cc
+++ b/mysys_ssl/my_crypt.cc
@@ -60,6 +60,7 @@ public:
}
virtual int update(const uchar *src, uint slen, uchar *dst, uint *dlen)
{
+ DBUG_ASSERT(src);
if (EVP_CipherUpdate(ctx, dst, (int*)dlen, src, slen) != 1)
return MY_AES_OPENSSL_ERROR;
return MY_AES_OK;
diff --git a/sql/log_event.cc b/sql/log_event.cc
index d303f345949..f25ebd56792 100644
--- a/sql/log_event.cc
+++ b/sql/log_event.cc
@@ -1628,8 +1628,11 @@ int Log_event_writer::encrypt_and_write(const uchar *pos, size_t len)
return 1;
uint dstlen;
- if (encryption_ctx_update(ctx, pos, (uint)len, dst, &dstlen))
+ if (len == 0)
+ dstlen= 0;
+ else if (encryption_ctx_update(ctx, pos, (uint)len, dst, &dstlen))
goto err;
+
if (maybe_write_event_len(dst, dstlen))
return 1;
pos= dst;