app/bbdev: replace sprintf with snprintf or strlcpy
[dpdk.git] / app / test-bbdev / test_bbdev_vector.c
index addef05..e4f68e2 100644 (file)
@@ -2,7 +2,7 @@
  * Copyright(c) 2017 Intel Corporation
  */
 
-#ifdef RTE_EXEC_ENV_BSDAPP
+#ifdef RTE_EXEC_ENV_FREEBSD
        #define _WITH_GETLINE
 #endif
 #include <stdio.h>
@@ -144,6 +144,8 @@ op_decoder_flag_strtoul(char *token, uint32_t *op_flag_value)
                *op_flag_value = RTE_BBDEV_TURBO_MAP_DEC;
        else if (!strcmp(token, "RTE_BBDEV_TURBO_DEC_SCATTER_GATHER"))
                *op_flag_value = RTE_BBDEV_TURBO_DEC_SCATTER_GATHER;
+       else if (!strcmp(token, "RTE_BBDEV_TURBO_DEC_TB_CRC_24B_KEEP"))
+               *op_flag_value = RTE_BBDEV_TURBO_DEC_TB_CRC_24B_KEEP;
        else {
                printf("The given value is not a turbo decoder flag\n");
                return -1;
@@ -410,6 +412,10 @@ parse_decoder_params(const char *key_token, char *token,
                vector->mask |= TEST_BBDEV_VF_NUM_MAPS;
                turbo_dec->num_maps = (uint8_t) strtoul(token, &err, 0);
                ret = ((err == NULL) || (*err != '\0')) ? -1 : 0;
+       } else if (!strcmp(key_token, "r")) {
+               vector->mask |= TEST_BBDEV_VF_R;
+               turbo_dec->tb_params.r = (uint8_t) strtoul(token, &err, 0);
+               ret = ((err == NULL) || (*err != '\0')) ? -1 : 0;
        } else if (!strcmp(key_token, "code_block_mode")) {
                vector->mask |= TEST_BBDEV_VF_CODE_BLOCK_MODE;
                turbo_dec->code_block_mode = (uint8_t) strtoul(token, &err, 0);
@@ -712,6 +718,9 @@ check_decoder(struct test_bbdev_vector *vector)
                if (!(mask & TEST_BBDEV_VF_CAB))
                        printf(
                                "WARNING: cab was not specified in vector file and will be set to 0\n");
+               if (!(mask & TEST_BBDEV_VF_R))
+                       printf(
+                               "WARNING: r was not specified in vector file and will be set to 0\n");
        } else {
                if (!(mask & TEST_BBDEV_VF_E))
                        printf(
@@ -889,8 +898,7 @@ test_bbdev_vector_read(const char *filename,
                        goto exit;
                }
 
-               memset(entry, 0, strlen(line) + 1);
-               strncpy(entry, line, strlen(line));
+               strcpy(entry, line);
 
                /* check if entry ends with , or = */
                if (entry[strlen(entry) - 1] == ','
@@ -912,7 +920,8 @@ test_bbdev_vector_read(const char *filename,
                                }
 
                                entry = entry_extended;
-                               strncat(entry, line, strlen(line));
+                               /* entry has been allocated accordingly */
+                               strcpy(&entry[strlen(entry)], line);
 
                                if (entry[strlen(entry) - 1] != ',')
                                        break;