summaryrefslogtreecommitdiffstats
path: root/usr.bin/ssh/ssh-agent.1
diff options
context:
space:
mode:
authorcmetz <cmetz@openbsd.org>1999-10-14 08:18:49 +0000
committercmetz <cmetz@openbsd.org>1999-10-14 08:18:49 +0000
commitb8502fcbfaae718620e5a5593d4e70b08c067daf (patch)
treefb0f4de8c8ff89f56f0ce40f2673a601d66a8988 /usr.bin/ssh/ssh-agent.1
parentread disklabels only from CDs that have a data track, spoofed labels from (diff)
downloadwireguard-openbsd-b8502fcbfaae718620e5a5593d4e70b08c067daf.tar.xz
wireguard-openbsd-b8502fcbfaae718620e5a5593d4e70b08c067daf.zip
Fix for PR 871.
This fix is taken from BSD/OS (the file in question being BSD licensed). It continues to remove a datagram from a socket receive buffer even if there is an error on the copy-out, so as to leave the buffer in a reasonable state. Before, the kernel would stop in mid-receive if the copy-out failed, and the buffer's structural requirements would be violated (since the start of a datagram must be an address iff ). Note that if the user provides any invalid addresses as arguments to a recvmsg(), the datagram at the front of the buffer will be discarded. The more correct behavior would be not to remove this datagram if the arguments are invalid. Implementing this behavior requires a lot of significant changes, and socket receives are a critical path. Also included are two simple and fairly obvious fixes from the same source. If non-blocking I/O is set, it makes sure the receieve is non-blocking. It also fixes a slightly over-aggressive optimization.
Diffstat (limited to 'usr.bin/ssh/ssh-agent.1')
0 files changed, 0 insertions, 0 deletions