From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by dpdk.org (Postfix) with ESMTP id 025FD3B5 for ; Fri, 10 Feb 2017 13:29:05 +0100 (CET) Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga101.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 10 Feb 2017 04:28:58 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.35,141,1484035200"; d="scan'208";a="1105631956" Received: from gklab-246-019.igk.intel.com (HELO intel.com) ([10.217.246.19]) by fmsmga001.fm.intel.com with SMTP; 10 Feb 2017 04:28:56 -0800 Received: by intel.com (sSMTP sendmail emulation); Fri, 10 Feb 2017 15:22:32 +0100 From: Slawomir Mrozowicz To: declan.doherty@intel.com Cc: dev@dpdk.org, Slawomir Mrozowicz Date: Fri, 10 Feb 2017 15:22:30 +0100 Message-Id: <1486736550-5583-1-git-send-email-slawomirx.mrozowicz@intel.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1486392910-8183-1-git-send-email-slawomirx.mrozowicz@intel.com> References: <1486392910-8183-1-git-send-email-slawomirx.mrozowicz@intel.com> Subject: [dpdk-dev] [PATCH v2] app/crypto-perf: fix dereference null return value X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 10 Feb 2017 12:29:06 -0000 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 --- 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