[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 02/20] 9p: proxy: Fix size passed to `connect
From: |
Greg Kurz |
Subject: |
Re: [Qemu-devel] [PATCH v2 02/20] 9p: proxy: Fix size passed to `connect` |
Date: |
Fri, 1 Jun 2018 11:09:10 +0200 |
On Thu, 31 May 2018 21:25:57 -0400
Keno Fischer <address@hidden> wrote:
> The size to pass to the `connect` call is the size of the entire
> `struct sockaddr_un`. Passing anything shorter than this causes errors
> on darwin.
>
From the linux unix(7) manual page:
ret = connect (data_socket, (const struct sockaddr *) &addr,
sizeof(struct sockaddr_un));
Not sure why it was done differently, but I definitely prefer the
fixed size version.
Applied to 9p-next.
Thanks !
> Signed-off-by: Keno Fischer <address@hidden>
> ---
>
> Changes since v1: New patch
>
> hw/9pfs/9p-proxy.c | 5 ++---
> 1 file changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/hw/9pfs/9p-proxy.c b/hw/9pfs/9p-proxy.c
> index e2e0329..47a94e0 100644
> --- a/hw/9pfs/9p-proxy.c
> +++ b/hw/9pfs/9p-proxy.c
> @@ -1088,7 +1088,7 @@ static int proxy_ioc_getversion(FsContext *fs_ctx,
> V9fsPath *path,
>
> static int connect_namedsocket(const char *path, Error **errp)
> {
> - int sockfd, size;
> + int sockfd;
> struct sockaddr_un helper;
>
> if (strlen(path) >= sizeof(helper.sun_path)) {
> @@ -1102,8 +1102,7 @@ static int connect_namedsocket(const char *path, Error
> **errp)
> }
> strcpy(helper.sun_path, path);
> helper.sun_family = AF_UNIX;
> - size = strlen(helper.sun_path) + sizeof(helper.sun_family);
> - if (connect(sockfd, (struct sockaddr *)&helper, size) < 0) {
> + if (connect(sockfd, (struct sockaddr *)&helper, sizeof(helper)) < 0) {
> error_setg_errno(errp, errno, "failed to connect to '%s'", path);
> close(sockfd);
> return -1;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: [Qemu-devel] [PATCH v2 02/20] 9p: proxy: Fix size passed to `connect`,
Greg Kurz <=