Module Name:    src
Committed By:   martin
Date:           Sun Nov  4 11:14:09 UTC 2018

Modified Files:
        src/sys/netinet6 [netbsd-8]: udp6_output.c

Log Message:
Pull up following revision(s) (requested by mlelstv in ticket #1079):

        sys/netinet6/udp6_usrreq.c: revision 1.142
        applied to udp6_output.c (refactured in HEAD)

Fix error path in ip6 source address selection.

in6_selectsrc previously returned a pointer to an ipv6 address,
the pointer was NULL in case of an error and is checked later
instead of the also returned error code. When in6_selectsrc was
changed to store the address into a buffer, the error code
was still ignored, but the buffer pointer was never set to NULL.

As a result send() to an ipv6 address on a system that isn't
configured for ipv6 no longer returns the expected EADDRAVAIL
but fails later in ip6_output with EOPNOTSUPP when trying to
send from an unspecified address. The wrong error code caused
BIND to log the unexpected errors.


To generate a diff of this commit:
cvs rdiff -u -r1.55 -r1.55.6.1 src/sys/netinet6/udp6_output.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Reply via email to