crypto_kpp_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 6f5f3ed..4f8029c 100644
--- a/crypto/testmgr.c
+++ b/crypto/testmgr.c
@@ -2013,6 +2013,11 @@ static int do_test_kpp(struct crypto_kpp *tfm, const 
struct kpp_testvec *vec,
                goto free_req;
 
        out_len_max = crypto_kpp_maxsize(tfm);
+       if (out_len_max < 0) {
+               err = out_len_max;
+               goto free_req;
+       }
+
        output_buf = kzalloc(out_len_max, GFP_KERNEL);
        if (!output_buf) {
                err = -ENOMEM;
-- 
2.7.4

Reply via email to