Arno,

OK.

--S

> On 5 Mar 2019, at 20:38, Arnaud Charlet <char...@adacore.com> wrote:
> 
> Simon,
> 
> Thanks for the patch.
> We already have a fix pending for that in our tree that we will merge.
> 
> Arno
> 
>> On 4 Mar 2019, at 20:48, Simon Wright <si...@pushface.org> wrote:
>> 
>> With GCC9, GNAT.Sockets includes support for IPv6. Sockaddr is an 
>> Unchecked_Union, which now includes IPv6 fields, bringing the total possible 
>> size to 28 bytes. The code in Bind_Socket currently calculates the length of 
>> the struct sockaddr to be passed to bind(2) as this size, which (at any rate 
>> on Darwin x86_64) results in failure (EINVAL).
>> 
>> This patch provides the required length explicitly from the socket's family.
>> 
>> Tested by rebuilding the compiler with --disable-bootstrap and re-running 
>> the reproducer.
>> 
>> gcc/ada/Changelog:
>> 
>>   2019-03-04 Simon Wright <si...@pushface.org>
>> 
>>   PR ada/89583
>>   * libgnat/g-socket.adb (Bind_Socket): Calculate Len (the significant 
>> length of
>>     the Sockaddr) using the Family of the Address parameter.
>> 
>> 
>> <pr89583.diff>
> 

Reply via email to