examples/vhost: fix path allocation failure handling

Add the missing failure handling for path allocation,
as realloc() may fail.

Fixes: ad0eef4d2203 ("examples/vhost: support multiple socket files")
Cc: stable@dpdk.org

Signed-off-by: Tiwei Bie <tiwei.bie@intel.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
This commit is contained in:
Tiwei Bie 2019-01-15 15:13:24 +08:00 committed by Ferruh Yigit
parent e1c0834f95
commit d79035b7dd

View File

@ -353,11 +353,19 @@ port_init(uint16_t port)
static int
us_vhost_parse_socket_path(const char *q_arg)
{
char *old;
/* parse number string */
if (strnlen(q_arg, PATH_MAX) == PATH_MAX)
return -1;
old = socket_files;
socket_files = realloc(socket_files, PATH_MAX * (nb_sockets + 1));
if (socket_files == NULL) {
free(old);
return -1;
}
snprintf(socket_files + nb_sockets * PATH_MAX, PATH_MAX, "%s", q_arg);
nb_sockets++;