app/crypto-perf: fix null dereference
authorSlawomir Mrozowicz <slawomirx.mrozowicz@intel.com>
Fri, 10 Feb 2017 14:22:30 +0000 (15:22 +0100)
committerPablo de Lara <pablo.de.lara.guarch@intel.com>
Fri, 10 Feb 2017 15:06:04 +0000 (16:06 +0100)
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.mrozowicz@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
app/test-crypto-perf/cperf_test_vector_parsing.c

index c53ba67..d1c01d2 100644 (file)
@@ -237,15 +237,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;
        }