crypto_akcipher_maxsize() returns minimum length for output buffer
or error code if key hasn't been set. Check for error before
allocating memory.

Signed-off-by: Tudor Ambarus <tudor.amba...@microchip.com>
---
 crypto/testmgr.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/crypto/testmgr.c b/crypto/testmgr.c
index 4f8029c..0bf9a00 100644
--- a/crypto/testmgr.c
+++ b/crypto/testmgr.c
@@ -2155,6 +2155,11 @@ static int test_akcipher_one(struct crypto_akcipher *tfm,
 
        err = -ENOMEM;
        out_len_max = crypto_akcipher_maxsize(tfm);
+       if (out_len_max < 0) {
+               err = out_len_max;
+               goto free_req;
+       }
+
        outbuf_enc = kzalloc(out_len_max, GFP_KERNEL);
        if (!outbuf_enc)
                goto free_req;
-- 
2.7.4

Reply via email to