Hey Gowrishankar,

> -----Original Message-----
> From: Gowrishankar Muthukrishnan <gmuthukri...@marvell.com>
> Sent: Saturday, June 15, 2024 12:31 PM
> To: dev@dpdk.org; Dooley, Brian <brian.doo...@intel.com>; Gowrishankar
> Muthukrishnan <gmuthukri...@marvell.com>
> Cc: Anoob Joseph <ano...@marvell.com>; sta...@dpdk.org
> Subject: [PATCH] examples/fips_validation: fix coverity issues
> 
> Fix NULL dereference, out-of-bound, bad bit shift issues reported by coverity
> scan.
> 
> Coverity issue: 384440, 384435, 384433, 384429
> Fixes: 36128a67c27 ("examples/fips_validation: add asymmetric validation")
> Cc: sta...@dpdk.org
> 
> Signed-off-by: Gowrishankar Muthukrishnan <gmuthukri...@marvell.com>
> ---
>  examples/fips_validation/fips_validation_rsa.c | 7 +++++--
>  1 file changed, 5 insertions(+), 2 deletions(-)
> 
> diff --git a/examples/fips_validation/fips_validation_rsa.c
> b/examples/fips_validation/fips_validation_rsa.c
> index f675b51051..55f81860a0 100644
> --- a/examples/fips_validation/fips_validation_rsa.c
> +++ b/examples/fips_validation/fips_validation_rsa.c
> @@ -328,6 +328,9 @@ parse_test_rsa_json_interim_writeback(struct
> fips_val *val)
>               if (prepare_vec_rsa() < 0)
>                       return -1;
> 
> +             if (!vec.rsa.e.val)
> +                     return -1;
> +
>               writeback_hex_str("", info.one_line_text, &vec.rsa.n);
>               obj = json_string(info.one_line_text);
>               json_object_set_new(json_info.json_write_group, "n", obj);
> @@ -474,7 +477,7 @@ fips_test_randomize_message(struct fips_val *msg,
> struct fips_val *rand)
>       uint16_t rv_len;
> 
>       if (!msg->val || !rand->val || rand->len > RV_BUF_LEN
> -             || msg->len > FIPS_TEST_JSON_BUF_LEN)
> +             || msg->len > (FIPS_TEST_JSON_BUF_LEN - 1))
>               return -EINVAL;
> 
>       memset(rv, 0, sizeof(rv));
> @@ -503,7 +506,7 @@ fips_test_randomize_message(struct fips_val *msg,
> struct fips_val *rand)
>               m[i + j] ^= rv[j];
> 
>       m[i + j] = ((uint8_t *)&rv_bitlen)[0];
> -     m[i + j + 1] = (((uint8_t *)&rv_bitlen)[1] >> 8) & 0xFF;
> +     m[i + j + 1] = ((uint8_t *)&rv_bitlen)[1];
> 
>       rte_free(msg->val);
>       msg->len = (rv_bitlen + m_bitlen + 16) / 8;
> --
> 2.25.1

Acked-by: Brian Dooley <brian.doo...@intel.com>

Reply via email to