[dpdk-stable] [PATCH 2/2] examples/vhost: fix realloc failure

Tiwei Bie tiwei.bie at intel.com
Mon Jan 14 04:34:44 CET 2019


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

Signed-off-by: Tiwei Bie <tiwei.bie at intel.com>
---
 examples/vhost/main.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/examples/vhost/main.c b/examples/vhost/main.c
index dc9ea1018..23fee445a 100644
--- a/examples/vhost/main.c
+++ b/examples/vhost/main.c
@@ -375,11 +375,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.17.1



More information about the stable mailing list