]> git.droids-corp.org - dpdk.git/commitdiff
crypto/cnxk: add null check for RSA key data
authorKiran Kumar K <kirankumark@marvell.com>
Mon, 26 Jul 2021 04:44:19 +0000 (10:14 +0530)
committerAkhil Goyal <gakhil@marvell.com>
Fri, 30 Jul 2021 18:57:23 +0000 (20:57 +0200)
Coverity is reporting FORWARD_NULL issue when qt data is NULL.
Adding NULL check for this.

Coverity issue: 371893
Fixes: 5a3513caeb45 ("crypto/cnxk: add asymmetric session")
Signed-off-by: Kiran Kumar K <kirankumark@marvell.com>
Acked-by: Akhil Goyal <gakhil@marvell.com>
drivers/crypto/cnxk/cnxk_ae.h

index 174a940ab80c6990b7e16be9b823c50679042227..00dc75ef9d2153235dec5f17afd58950266a88cd 100644 (file)
@@ -85,6 +85,9 @@ cnxk_ae_fill_rsa_params(struct cnxk_ae_sess *sess,
        size_t len = (mod_len / 2);
        uint64_t total_size;
 
+       if (qt.p.length != 0 && qt.p.data == NULL)
+               return -EINVAL;
+
        /* Make sure key length used is not more than mod_len/2 */
        if (qt.p.data != NULL)
                len = RTE_MIN(len, qt.p.length);
@@ -109,7 +112,8 @@ cnxk_ae_fill_rsa_params(struct cnxk_ae_sess *sess,
                rsa->qt.dQ.data = rsa->qt.q.data + qt.q.length;
                memcpy(rsa->qt.dQ.data, qt.dQ.data, qt.dQ.length);
                rsa->qt.p.data = rsa->qt.dQ.data + qt.dQ.length;
-               memcpy(rsa->qt.p.data, qt.p.data, qt.p.length);
+               if (qt.p.data != NULL)
+                       memcpy(rsa->qt.p.data, qt.p.data, qt.p.length);
                rsa->qt.dP.data = rsa->qt.p.data + qt.p.length;
                memcpy(rsa->qt.dP.data, qt.dP.data, qt.dP.length);
                rsa->qt.qInv.data = rsa->qt.dP.data + qt.dP.length;