examples/vhost: check argument length
authorCheng Jiang <cheng1.jiang@intel.com>
Fri, 6 Nov 2020 03:24:01 +0000 (03:24 +0000)
committerFerruh Yigit <ferruh.yigit@intel.com>
Fri, 13 Nov 2020 18:43:26 +0000 (19:43 +0100)
Add args length check before copying to fix the coverity issue.

Coverity issue: 363741
Fixes: 3a04ecb21420 ("examples/vhost: add async vhost args parsing")

Signed-off-by: Cheng Jiang <cheng1.jiang@intel.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
examples/vhost/main.c

index 59a1aff..ec88874 100644 (file)
@@ -634,6 +634,12 @@ us_vhost_parse_args(int argc, char **argv)
 
                        if (!strncmp(long_option[option_index].name,
                                                "dma-type", MAX_LONG_OPT_SZ)) {
+                               if (strlen(optarg) >= MAX_LONG_OPT_SZ) {
+                                       RTE_LOG(INFO, VHOST_CONFIG,
+                                               "Wrong DMA type\n");
+                                       us_vhost_usage(prgname);
+                                       return -1;
+                               }
                                strcpy(dma_type, optarg);
                        }