[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] sockets: avoid formatting buffer that may not b
From: |
Thomas Huth |
Subject: |
Re: [Qemu-devel] [PATCH] sockets: avoid formatting buffer that may not be NULL terminated |
Date: |
Mon, 26 Jun 2017 12:19:40 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.0 |
On 26.06.2017 12:11, Daniel P. Berrange wrote:
> The 'sun_path' field in the sockaddr_un struct is not required
> to be NULL termianted, so when reporting an error, we must use
s/NULL/NUL/
NULL is a pointer, NUL is the '\0' character.
> the separate 'path' variable which is guaranteed terminated.
>
> Fixes a bug spotted by coverity that was introduced in
>
> commit ad9579aaa16d5b385922d49edac2c96c79bcfb62
> Author: Daniel P. Berrange <address@hidden>
> Date: Thu May 25 16:53:00 2017 +0100
>
> sockets: improve error reporting if UNIX socket path is too long
>
> Signed-off-by: Daniel P. Berrange <address@hidden>
> ---
> util/qemu-sockets.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/util/qemu-sockets.c b/util/qemu-sockets.c
> index 51bf279..37d386f 100644
> --- a/util/qemu-sockets.c
> +++ b/util/qemu-sockets.c
> @@ -930,7 +930,7 @@ static int unix_listen_saddr(UnixSocketAddress *saddr,
> strncpy(un.sun_path, path, sizeof(un.sun_path));
>
> if (bind(sock, (struct sockaddr*) &un, sizeof(un)) < 0) {
> - error_setg_errno(errp, errno, "Failed to bind socket to %s",
> un.sun_path);
> + error_setg_errno(errp, errno, "Failed to bind socket to %s", path);
> goto err;
> }
> if (listen(sock, 1) < 0) {
Apart from the nit in the comment, the patch looks right to me:
Reviewed-by: Thomas Huth <address@hidden>