[3/3] examples/fips_validation: fix overwrite of COUNT for TDES vectors

Message ID 1591883057-11008-3-git-send-email-marchana@marvell.com (mailing list archive)
State Accepted, archived
Delegated to: akhil goyal
Headers
Series [1/3] examples/fips_validation: fix TDES interim callback |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/travis-robot success Travis build: passed
ci/Intel-compilation success Compilation OK

Commit Message

Archana Muniganti June 11, 2020, 1:44 p.m. UTC
  Application updates first line of each test vector with
COUNT = i(where i = 1,2,3..) assuming first line contains
COUNT string. But few of the TDES input test vectors don't
contain COUNT string and thus COUNT is getting overwritten on
other data.

Fixes: 527cbf3d5ee3 ("examples/fips_validation: support TDES parsing")

Signed-off-by: Archana Muniganti <marchana@marvell.com>
Signed-off-by: Kanaka Durga Kotamarthy <kkotamarthy@marvell.com>
---
 examples/fips_validation/fips_validation.c | 8 ++++++++
 examples/fips_validation/main.c            | 5 ++++-
 2 files changed, 12 insertions(+), 1 deletion(-)
  

Patch

diff --git a/examples/fips_validation/fips_validation.c b/examples/fips_validation/fips_validation.c
index 3aaec20..9bdf257 100644
--- a/examples/fips_validation/fips_validation.c
+++ b/examples/fips_validation/fips_validation.c
@@ -640,6 +640,14 @@ 
 
 	cb = &info.writeback_callbacks[0];
 
+	if (!(strstr(info.vec[0], cb->key))) {
+		fprintf(info.fp_wr, "%s%u\n", cb->key, count);
+		i = 0;
+	} else {
+		snprintf(info.vec[0], strlen(info.vec[0]) + 4, "%s%u", cb->key,
+				count);
+		i = 1;
+	}
 	snprintf(info.vec[0], strlen(info.vec[0]) + 4, "%s%u", cb->key, count);
 
 	for (i = 1; i < info.nb_vec_lines; i++) {
diff --git a/examples/fips_validation/main.c b/examples/fips_validation/main.c
index f9b2056..efd32a8 100644
--- a/examples/fips_validation/main.c
+++ b/examples/fips_validation/main.c
@@ -1070,7 +1070,10 @@  struct fips_test_ops {
 	int test_mode = info.interim_info.tdes_data.test_mode;
 
 	for (i = 0; i < TDES_EXTERN_ITER; i++) {
-		if (i != 0)
+		if (i == 0) {
+			if (!(strstr(info.vec[0], "COUNT")))
+				fprintf(info.fp_wr, "%s%u\n", "COUNT = ", 0);
+		} else
 			update_info_vec(i);
 
 		fips_test_write_one_case();