BIO_do_accept Issue

Scott Morgan blumf at blueyonder.co.uk
Thu Apr 9 10:42:11 UTC 2020


On 08/04/2020 18:06, Viktor Dukhovni wrote:
> On Wed, Apr 08, 2020 at 11:47:19AM +0100, Scott Morgan via openssl-users wrote:
> 
>> Run into an odd issue.
>>
>> Consider the following program, based on the documentation[0], using
>> OpenSSL 1.1.1f
>>
>> 	abio = BIO_new_accept("4444");
>> 	res = BIO_do_accept(abio);
> 
> It seems to me that since commit 417be660e1c BIO_do_accept() has
> incomplete error handling, "ret" isn't assigned when bind() or listen()
> fail:
> 
...<snip>...
> 
> So the function returns the wrong value of ret, in your case the the
> socket descriptor created in an earlier case in the loop.  The fix is
> presumably to set ret to either -1 or 0, whichever is appropriate here.
> 

That makes sense. Just checked github, and there is a ticket listing
that problem, #7717

Scott


More information about the openssl-users mailing list