diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2014-08-27 10:05:07 +0100 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2014-08-27 10:24:35 +0100 |
commit | f95d04b75b71ad523eb3e0e3fc9ad711c58ab43b (patch) | |
tree | 11d8975f6790df0411322635c78c7229ad2a1083 | |
parent | 011f04ff8e9aca696e26ecef0e68132a24a9b094 (diff) |
intel-virtual-output: Use snprintf() for simplicity
Third one-line patch to fix copying from the tainted user argument into
the socket's path buffer. This time, give in and just use snprintf() as
it guarrantees that it will not write more than 'n' characters and that
the last is a NUL byte.
Suggested-by: Zdenek Kabelac <zkabelac@redhat.com>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-rw-r--r-- | tools/virtual.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/tools/virtual.c b/tools/virtual.c index b51c81a1..d16a55f9 100644 --- a/tools/virtual.c +++ b/tools/virtual.c @@ -2387,10 +2387,8 @@ static int bumblebee_open(struct context *ctx) } addr.sun_family = AF_UNIX; - strncpy(addr.sun_path, - optarg && *optarg ? optarg : "/var/run/bumblebee.socket", - sizeof(addr.sun_path)-1); - addr.sun_path[sizeof(addr.sun_path)-1] = '\0'; + snprintf(addr.sun_path, sizeof(addr.sun_path), "%s", + optarg && *optarg ? optarg : "/var/run/bumblebee.socket"); if (connect(fd, (struct sockaddr *)&addr, sizeof(addr)) < 0) { DBG(X11, ("%s unable to create a socket: %d\n", __func__, errno)); goto err; |