[Libguestfs] [PATCH 1/6] launch: unix: check for length of sockets

Pino Toscano ptoscano at redhat.com
Fri Jan 29 18:25:25 UTC 2016


Error out early if the path to the socket will not fit into
sockaddr_un::sun_path, as we will not be able to connect to it.
---
 src/launch-unix.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/launch-unix.c b/src/launch-unix.c
index 740c554..973e14b 100644
--- a/src/launch-unix.c
+++ b/src/launch-unix.c
@@ -47,6 +47,12 @@ launch_unix (guestfs_h *g, void *datav, const char *sockpath)
     return -1;
   }
 
+  if (strlen (sockpath) > UNIX_PATH_MAX-1) {
+    error (g, _("socket filename too long (more than %d characters): %s"),
+           UNIX_PATH_MAX-1, sockpath);
+    return -1;
+  }
+
   if (g->verbose)
     guestfs_int_print_timestamped_message (g, "connecting to %s", sockpath);
 
-- 
2.5.0




More information about the Libguestfs mailing list