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 <march...@marvell.com>
Signed-off-by: Kanaka Durga Kotamarthy <kkotamar...@marvell.com>
---
 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 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();
-- 
1.8.3.1

Reply via email to