From d79035b7dd6e599589552573b53c138f488dead3 Mon Sep 17 00:00:00 2001 From: Tiwei Bie Date: Tue, 15 Jan 2019 15:13:24 +0800 Subject: [PATCH] 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 Reviewed-by: Maxime Coquelin --- examples/vhost/main.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/examples/vhost/main.c b/examples/vhost/main.c index 645cf51e92..5e914f58ef 100644 --- a/examples/vhost/main.c +++ b/examples/vhost/main.c @@ -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++; -- 2.20.1