diff options
Diffstat (limited to 'protocols/WhatsApp/src/crypt.cpp')
-rw-r--r-- | protocols/WhatsApp/src/crypt.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/protocols/WhatsApp/src/crypt.cpp b/protocols/WhatsApp/src/crypt.cpp index 09a14f53b0..1efb93dde4 100644 --- a/protocols/WhatsApp/src/crypt.cpp +++ b/protocols/WhatsApp/src/crypt.cpp @@ -21,8 +21,10 @@ MBinBuffer aesDecrypt( if (additionalLen) EVP_DecryptUpdate(ctx, nullptr, &tag_len, (uint8_t *)additionalData, (int)additionalLen); - dataLen -= 16; - EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_GCM_SET_TAG, 16, (uint8_t *)data + dataLen); + if (cipher == EVP_aes_256_gcm()) { + dataLen -= 16; + EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_GCM_SET_TAG, 16, (uint8_t *)data + dataLen); + } MBinBuffer ret; uint8_t outbuf[2000]; |