[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 3/4] alloca one extra byte sockets
From: |
Peter Maydell |
Subject: |
Re: [Qemu-devel] [PATCH 3/4] alloca one extra byte sockets |
Date: |
Fri, 11 Jul 2014 18:08:43 +0100 |
On 11 July 2014 16:18, Joakim Tjernlund <address@hidden> wrote:
> target_to_host_sockaddr() may increase the lenth with 1 byte
> for AF_UNIX sockets so allocate 1 extra byte.
>
> Signed-off-by: Joakim Tjernlund <address@hidden>
> ---
> linux-user/syscall.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/linux-user/syscall.c b/linux-user/syscall.c
> index a0e1ccc..8853c4e 100644
> --- a/linux-user/syscall.c
> +++ b/linux-user/syscall.c
> @@ -1978,7 +1978,7 @@ static abi_long do_connect(int sockfd, abi_ulong
> target_addr,
> return -TARGET_EINVAL;
> }
>
> - addr = alloca(addrlen);
> + addr = alloca(addrlen+1);
>
> ret = target_to_host_sockaddr(addr, target_addr, addrlen);
> if (ret)
> @@ -1999,7 +1999,7 @@ static abi_long do_sendrecvmsg_locked(int fd, struct
> target_msghdr *msgp,
>
> if (msgp->msg_name) {
> msg.msg_namelen = tswap32(msgp->msg_namelen);
> - msg.msg_name = alloca(msg.msg_namelen);
> + msg.msg_name = alloca(msg.msg_namelen+1);
> ret = target_to_host_sockaddr(msg.msg_name, tswapal(msgp->msg_name),
> msg.msg_namelen);
> if (ret) {
> @@ -2262,7 +2262,7 @@ static abi_long do_sendto(int fd, abi_ulong msg, size_t
> len, int flags,
> if (!host_msg)
> return -TARGET_EFAULT;
> if (target_addr) {
> - addr = alloca(addrlen);
> + addr = alloca(addrlen+1);
> ret = target_to_host_sockaddr(addr, target_addr, addrlen);
> if (ret) {
> unlock_user(host_msg, msg, 0);
Reviewed-by: Peter Maydell <address@hidden>
I see we already got this right for do_bind() when the code to fiddle
with the terminator for AF_UNIX sockaddrs went in.
thanks
-- PMM
- Re: [Qemu-devel] [PATCH 4/4] ppc: remove excessive logging, (continued)
- Re: [Qemu-devel] [PATCH 4/4] ppc: remove excessive logging, Joakim Tjernlund, 2014/07/11
- Re: [Qemu-devel] [PATCH 4/4] ppc: remove excessive logging, Peter Maydell, 2014/07/11
- Re: [Qemu-devel] [Qemu-ppc] [PATCH 4/4] ppc: remove excessive logging, Alexander Graf, 2014/07/11
- Re: [Qemu-devel] [Qemu-ppc] [PATCH 4/4] ppc: remove excessive logging, Joakim Tjernlund, 2014/07/12
- Re: [Qemu-devel] [Qemu-ppc] [PATCH 4/4] ppc: remove excessive logging, Peter Maydell, 2014/07/12
- Re: [Qemu-devel] [Qemu-ppc] [PATCH 4/4] ppc: remove excessive logging, Alexander Graf, 2014/07/12
- Re: [Qemu-devel] [Qemu-ppc] [PATCH 4/4] ppc: remove excessive logging, Peter Maydell, 2014/07/12
- Re: [Qemu-devel] [Qemu-ppc] [PATCH 4/4] ppc: remove excessive logging, Alexander Graf, 2014/07/12
- Re: [Qemu-devel] [Qemu-ppc] [PATCH 4/4] ppc: remove excessive logging, Joakim Tjernlund, 2014/07/12
[Qemu-devel] [PATCH 3/4] alloca one extra byte sockets, Joakim Tjernlund, 2014/07/11
[Qemu-devel] [PATCH 1/4] qemu-user: Impl. setsockopt(SO_BINDTODEVICE), Joakim Tjernlund, 2014/07/11
- Re: [Qemu-devel] [PATCH 1/4] qemu-user: Impl. setsockopt(SO_BINDTODEVICE), Peter Maydell, 2014/07/11
- Re: [Qemu-devel] [PATCH 1/4] qemu-user: Impl. setsockopt(SO_BINDTODEVICE), Joakim Tjernlund, 2014/07/11
- Re: [Qemu-devel] [PATCH 1/4] qemu-user: Impl. setsockopt(SO_BINDTODEVICE), Peter Maydell, 2014/07/11
- Re: [Qemu-devel] [PATCH 1/4] qemu-user: Impl. setsockopt(SO_BINDTODEVICE), Joakim Tjernlund, 2014/07/12
- Re: [Qemu-devel] [PATCH 1/4] qemu-user: Impl. setsockopt(SO_BINDTODEVICE), Peter Maydell, 2014/07/12
- Re: [Qemu-devel] [PATCH 1/4] qemu-user: Impl. setsockopt(SO_BINDTODEVICE), Joakim Tjernlund, 2014/07/12
- Re: [Qemu-devel] [PATCH 1/4] qemu-user: Impl. setsockopt(SO_BINDTODEVICE), Peter Maydell, 2014/07/12
- Re: [Qemu-devel] [PATCH 1/4] qemu-user: Impl. setsockopt(SO_BINDTODEVICE), Joakim Tjernlund, 2014/07/12