Le 14/01/2016 07:24, cheng...@emindsoft.com.cn a écrit :
> From: Chen Gang <cheng...@emindsoft.com.cn>
> 
> After host_to_target_sock_type(), the length of val may be changed, so
> calculate the related lv, too.
>
> Signed-off-by: Chen Gang <gang.chen.5...@gmail.com>
> ---
>  linux-user/syscall.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/linux-user/syscall.c b/linux-user/syscall.c
> index fcdca2a..0e95f35 100644
> --- a/linux-user/syscall.c
> +++ b/linux-user/syscall.c
> @@ -1841,6 +1841,7 @@ static abi_long do_getsockopt(int sockfd, int level, 
> int optname,
>              return ret;
>          if (optname == SO_TYPE) {
>              val = host_to_target_sock_type(val);
> +            lv = (val >> 8) ? 4 : 1;

It seems the kernel always returns sizeof(int) (for all archs), what is
the aim of reducing the size ?

>          }
>          if (len > lv)
>              len = lv;
> 

Reply via email to