examples/fips_validation: fix null dereferences
authorChaitanya Babu Talluri <tallurix.chaitanya.babu@intel.com>
Wed, 25 Sep 2019 06:31:34 +0000 (07:31 +0100)
committerAkhil Goyal <akhil.goyal@nxp.com>
Wed, 9 Oct 2019 09:50:12 +0000 (11:50 +0200)
One issue caught by Coverity 343408
*deref_parm: Directly dereferencing parameter val->val.

In writeback_tdes_hex_str(), tmp_val is initialised to null.
tmp_val.val is updated only if keys are found.
If keys are not found,it doesn't fails but continues
to invoke writeback_hex_str(),where val->val is accessed
without null check.

The fix is to return the error,
if keys are not found in writeback_tdes_hex_str().

Coverity issue: 343408
Fixes: 527cbf3d5e ("examples/fips_validation: support TDES parsing")
Cc: stable@dpdk.org
Signed-off-by: Chaitanya Babu Talluri <tallurix.chaitanya.babu@intel.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
examples/fips_validation/fips_validation_tdes.c

index 15ee434..2b262c9 100644 (file)
@@ -212,6 +212,8 @@ writeback_tdes_hex_str(const char *key, char *dst, struct fips_val *val)
                tmp_val.val = val->val + 8;
        else if (strstr(key, KEY3_STR))
                tmp_val.val = val->val + 16;
+       else
+               return -EINVAL;
 
        return writeback_hex_str(key, dst, &tmp_val);
 }