examples/vhost: fix string split error handling
Add checking return value of string split function to fix the coverity issue. Coverity issue: 363739 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>
This commit is contained in:
parent
2b7126f5fc
commit
653b5994e8
@ -36,7 +36,7 @@ open_ioat(const char *value)
|
|||||||
int ret = 0;
|
int ret = 0;
|
||||||
uint16_t i = 0;
|
uint16_t i = 0;
|
||||||
char *dma_arg[MAX_VHOST_DEVICE];
|
char *dma_arg[MAX_VHOST_DEVICE];
|
||||||
uint8_t args_nr;
|
int args_nr;
|
||||||
|
|
||||||
while (isblank(*addrs))
|
while (isblank(*addrs))
|
||||||
addrs++;
|
addrs++;
|
||||||
@ -54,9 +54,18 @@ open_ioat(const char *value)
|
|||||||
}
|
}
|
||||||
args_nr = rte_strsplit(substr, strlen(substr),
|
args_nr = rte_strsplit(substr, strlen(substr),
|
||||||
dma_arg, MAX_VHOST_DEVICE, ',');
|
dma_arg, MAX_VHOST_DEVICE, ',');
|
||||||
do {
|
if (args_nr <= 0) {
|
||||||
|
ret = -1;
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
|
while (i < args_nr) {
|
||||||
char *arg_temp = dma_arg[i];
|
char *arg_temp = dma_arg[i];
|
||||||
rte_strsplit(arg_temp, strlen(arg_temp), ptrs, 2, '@');
|
uint8_t sub_nr;
|
||||||
|
sub_nr = rte_strsplit(arg_temp, strlen(arg_temp), ptrs, 2, '@');
|
||||||
|
if (sub_nr != 2) {
|
||||||
|
ret = -1;
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
|
|
||||||
start = strstr(ptrs[0], "txd");
|
start = strstr(ptrs[0], "txd");
|
||||||
if (start == NULL) {
|
if (start == NULL) {
|
||||||
@ -105,7 +114,7 @@ open_ioat(const char *value)
|
|||||||
|
|
||||||
dma_info->nr++;
|
dma_info->nr++;
|
||||||
i++;
|
i++;
|
||||||
} while (i < args_nr);
|
}
|
||||||
out:
|
out:
|
||||||
free(input);
|
free(input);
|
||||||
return ret;
|
return ret;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user