X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=crypto%2Fmodes%2Fcbc128.c;h=4ce5eb2ae341841a36c9a29dbe11aff262d2c20d;hb=b7534359306754b90a4f18aa5231477510488713;hp=4c9bc85eab274b6e7c2b94b8fbf8a5402604e029;hpb=4f22f40507fea3f272637eb8e00cadf1f34b10d9;p=oweals%2Fopenssl.git diff --git a/crypto/modes/cbc128.c b/crypto/modes/cbc128.c index 4c9bc85eab..4ce5eb2ae3 100644 --- a/crypto/modes/cbc128.c +++ b/crypto/modes/cbc128.c @@ -22,6 +22,9 @@ void CRYPTO_cbc128_encrypt(const unsigned char *in, unsigned char *out, size_t n; const unsigned char *iv = ivec; + if (len == 0) + return; + #if !defined(OPENSSL_SMALL_FOOTPRINT) if (STRICT_ALIGNMENT && ((size_t)in | (size_t)out | (size_t)ivec) % sizeof(size_t) != 0) { @@ -73,6 +76,9 @@ void CRYPTO_cbc128_decrypt(const unsigned char *in, unsigned char *out, unsigned char c[16]; } tmp; + if (len == 0) + return; + #if !defined(OPENSSL_SMALL_FOOTPRINT) if (in != out) { const unsigned char *iv = ivec;