app/crypto-perf: fix string not null terminated
authorAleksander Gajewski <aleksanderx.gajewski@intel.com>
Tue, 7 Feb 2017 09:20:18 +0000 (10:20 +0100)
committerPablo de Lara <pablo.de.lara.guarch@intel.com>
Fri, 10 Feb 2017 15:02:30 +0000 (16:02 +0100)
This commit fixes the case where the string buffer may not have
a null terminator if the source string's length is equal to the
buffer size.

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

Signed-off-by: Aleksander Gajewski <aleksanderx.gajewski@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
app/test-crypto-perf/cperf_options_parsing.c

index 3b7342d..691e788 100644 (file)
@@ -198,7 +198,8 @@ parse_device_type(struct cperf_options *opts, const char *arg)
        if (strlen(arg) > (sizeof(opts->device_type) - 1))
                return -1;
 
-       strncpy(opts->device_type, arg, sizeof(opts->device_type));
+       strncpy(opts->device_type, arg, sizeof(opts->device_type) - 1);
+       *(opts->device_type + sizeof(opts->device_type) - 1) = '\0';
 
        return 0;
 }