Dereferencing a pointer that might be null key_token when calling strstr.
Check if the pointer is null before.

Coverity issue: 141071
Fixes: f8be1786b1b8 ("app/crypto-perf: introduce performance test application")

Signed-off-by: Slawomir Mrozowicz <slawomirx.mrozow...@intel.com>
---
v2 changes:
- print message only if key_token exist
---
 app/test-crypto-perf/cperf_test_vector_parsing.c | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/app/test-crypto-perf/cperf_test_vector_parsing.c 
b/app/test-crypto-perf/cperf_test_vector_parsing.c
index e0bcb20..e442489 100644
--- a/app/test-crypto-perf/cperf_test_vector_parsing.c
+++ b/app/test-crypto-perf/cperf_test_vector_parsing.c
@@ -234,15 +234,19 @@ parse_entry(char *entry, struct cperf_test_vector *vector,
        uint8_t *data = NULL;
        char *token, *key_token;
 
+       if (entry == NULL) {
+               printf("Expected entry value\n");
+               return -1;
+       }
+
        /* get key */
        token = strtok(entry, CPERF_ENTRY_DELIMITER);
        key_token = token;
-
        /* get values for key */
        token = strtok(NULL, CPERF_ENTRY_DELIMITER);
-       if (token == NULL) {
-               printf("Expected 'key = values' but was '%.40s'..\n",
-                       key_token);
+
+       if (key_token == NULL || token == NULL) {
+               printf("Expected 'key = values' but was '%.40s'..\n", entry);
                return -1;
        }
 
-- 
2.5.0

Reply via email to