From: Michael Tokarev Date: Sun, 31 Mar 2024 10:07:36 +0000 (+0300) Subject: linux-user: do_setsockopt: make ip_mreq_source local to the place where it is used X-Git-Tag: v9.1.0-rc0~138^2~5 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=166bd92e3b4dfcd058013453e4dd94ebe5e87819;p=thirdparty%2Fqemu.git linux-user: do_setsockopt: make ip_mreq_source local to the place where it is used Signed-off-by: Michael Tokarev Message-Id: <20240331100737.2724186-4-mjt@tls.msk.ru> Signed-off-by: Richard Henderson --- diff --git a/linux-user/syscall.c b/linux-user/syscall.c index cca9cafe4f3..1fedf16650f 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -2049,7 +2049,6 @@ static abi_long do_setsockopt(int sockfd, int level, int optname, { abi_long ret; int val; - struct ip_mreq_source *ip_mreq_source; switch(level) { case SOL_TCP: @@ -2123,6 +2122,9 @@ static abi_long do_setsockopt(int sockfd, int level, int optname, case IP_UNBLOCK_SOURCE: case IP_ADD_SOURCE_MEMBERSHIP: case IP_DROP_SOURCE_MEMBERSHIP: + { + struct ip_mreq_source *ip_mreq_source; + if (optlen != sizeof (struct target_ip_mreq_source)) return -TARGET_EINVAL; @@ -2133,7 +2135,7 @@ static abi_long do_setsockopt(int sockfd, int level, int optname, ret = get_errno(setsockopt(sockfd, level, optname, ip_mreq_source, optlen)); unlock_user (ip_mreq_source, optval_addr, 0); break; - + } default: goto unimplemented; }