]> git.droids-corp.org - dpdk.git/commitdiff
crypto/openssl: fix extra bytes written at end of data
authorPiotr Azarewicz <piotrx.t.azarewicz@intel.com>
Wed, 7 Dec 2016 10:45:54 +0000 (11:45 +0100)
committerPablo de Lara <pablo.de.lara.guarch@intel.com>
Wed, 18 Jan 2017 20:45:15 +0000 (21:45 +0100)
Extra bytes are being written at end of data while process standard
openssl cipher encryption. This behaviour is unexpected.

This patch disable the padding feature in openssl library, which is
causing the problem.

Fixes: d61f70b4c918 ("crypto/libcrypto: add driver for OpenSSL library")
Signed-off-by: Piotr Azarewicz <piotrx.t.azarewicz@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
drivers/crypto/openssl/rte_openssl_pmd.c

index 5f8fa3311deb867691a2fc84dd830c6f558c0b83..832ea1d0ba4a25e56bd9b8f79c6ffcdf6af94aca 100644 (file)
@@ -496,6 +496,8 @@ process_openssl_cipher_encrypt(uint8_t *src, uint8_t *dst,
        if (EVP_EncryptInit_ex(ctx, algo, NULL, key, iv) <= 0)
                goto process_cipher_encrypt_err;
 
+       EVP_CIPHER_CTX_set_padding(ctx, 0);
+
        if (EVP_EncryptUpdate(ctx, dst, &dstlen, src, srclen) <= 0)
                goto process_cipher_encrypt_err;