From 2b84d2bd47df6545797ed9841636eb8023c4db7b Mon Sep 17 00:00:00 2001 From: Archana Muniganti Date: Thu, 11 Jun 2020 19:14:17 +0530 Subject: [PATCH] examples/fips_validation: fix count overwrite for TDES 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") Cc: stable@dpdk.org Signed-off-by: Archana Muniganti Signed-off-by: Kanaka Durga Kotamarthy --- examples/fips_validation/fips_validation.c | 8 ++++++++ examples/fips_validation/main.c | 5 ++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/examples/fips_validation/fips_validation.c b/examples/fips_validation/fips_validation.c index 3aaec20fb4..9bdf257b8b 100644 --- a/examples/fips_validation/fips_validation.c +++ b/examples/fips_validation/fips_validation.c @@ -640,6 +640,14 @@ update_info_vec(uint32_t count) 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 f9b2056bfc..efd32a86a5 100644 --- a/examples/fips_validation/main.c +++ b/examples/fips_validation/main.c @@ -1070,7 +1070,10 @@ fips_mct_tdes_test(void) 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(); -- 2.20.1