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