Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:Ledest:erlang:26
erlang
0367-Bugfix-skip-the-value-when-skipping-the-op...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 0367-Bugfix-skip-the-value-when-skipping-the-option.patch of Package erlang
From 9ebdfbf26470d7f57fe5a9136bb19cee641ba96e Mon Sep 17 00:00:00 2001 From: Raimo Niskanen <raimo@erlang.org> Date: Mon, 23 Sep 2024 14:27:58 +0200 Subject: [PATCH 2/2] Bugfix: skip the value when skipping the option --- erts/emulator/drivers/common/inet_drv.c | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/erts/emulator/drivers/common/inet_drv.c b/erts/emulator/drivers/common/inet_drv.c index f10820653c..06bee698c6 100644 --- a/erts/emulator/drivers/common/inet_drv.c +++ b/erts/emulator/drivers/common/inet_drv.c @@ -8129,6 +8129,7 @@ static int sctp_set_opts(inet_descriptor* desc, char* ptr, int len) arg_sz = sizeof ( arg.ival); break; #else + curr += 4; continue; #endif @@ -8139,6 +8140,7 @@ static int sctp_set_opts(inet_descriptor* desc, char* ptr, int len) "sctp_set_opts -> REUSEPORT_LB\r\n", __LINE__, desc->s, driver_caller(desc->port)) ); #if defined(__WIN32__) + curr += 4; continue; #elif defined(SO_REUSEPORT_LB) || (defined(__linux__) && defined(SO_REUSEPORT)) arg.ival= get_int32 (curr); curr += 4; @@ -8153,6 +8155,7 @@ static int sctp_set_opts(inet_descriptor* desc, char* ptr, int len) arg_sz = sizeof ( arg.ival); break; #else + curr += 4; continue; #endif } @@ -8173,6 +8176,7 @@ static int sctp_set_opts(inet_descriptor* desc, char* ptr, int len) arg_sz = sizeof ( arg.ival); break; #else + curr += 4; continue; #endif } @@ -8204,8 +8208,10 @@ static int sctp_set_opts(inet_descriptor* desc, char* ptr, int len) } new_ra = (compat & ra_bits) == ra_bits; desc->bsd_compat = compat; - if (old_ra == new_ra) + if (old_ra == new_ra) { + curr += 4; continue; + } } #endif arg.ival= get_int32 (curr); curr += 4; @@ -8252,7 +8258,8 @@ static int sctp_set_opts(inet_descriptor* desc, char* ptr, int len) # else /* inet_fill_opts always returns a value for this option, * so we need to ignore it if not implemented, just in case */ - continue; + curr += 4; + continue; # endif case INET_OPT_TOS: @@ -8274,7 +8281,8 @@ static int sctp_set_opts(inet_descriptor* desc, char* ptr, int len) # else /* inet_fill_opts always returns a value for this option, * so we need to ignore it if not implemented, just in case */ - continue; + curr += 4; + continue; # endif # if defined(IPV6_TCLASS) && defined(IPPROTO_IPV6) @@ -8405,7 +8413,8 @@ static int sctp_set_opts(inet_descriptor* desc, char* ptr, int len) # elif defined(__WIN32__) && defined(HAVE_IN6) && defined(AF_INET6) # error Here is a fix for Win IPv6 SCTP missing # else - continue; /* Option not supported -- ignore it */ + curr += 4; + continue; /* Option not supported -- ignore it */ # endif #ifdef SO_BINDTODEVICE -- 2.43.0
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor