summaryrefslogtreecommitdiffstats
path: root/contrib/diff/lib/hard-locale.c
diff options
context:
space:
mode:
authorjhb <jhb@FreeBSD.org>2013-04-08 19:03:01 +0000
committerjhb <jhb@FreeBSD.org>2013-04-08 19:03:01 +0000
commit4312ec3f0dd92a3dedf58a28ebc6f4ae3a1a7672 (patch)
tree13366d646862c52df55b1c45000dd9d3c0e08eed /contrib/diff/lib/hard-locale.c
parent52f6f6d83eb2c4356b916617d45ecd58d775c3bd (diff)
downloadFreeBSD-src-4312ec3f0dd92a3dedf58a28ebc6f4ae3a1a7672.zip
FreeBSD-src-4312ec3f0dd92a3dedf58a28ebc6f4ae3a1a7672.tar.gz
Fix a potential socket leak in the NFS server. If a client closes its
connection after it was accepted by the userland nfsd process but before it was handled off to svc_vc_create() in the kernel, then svc_vc_create() would see it as a new listen socket and try to listen on it leaving a dangling reference to the socket. Instead, check for disconnected sockets and treat them like a connected socket. The call to pru_getaddr() should fail and cause svc_vc_create() to fail. Note that we need to lock the socket to get a consistent snapshot of so_state since there is a window in soisdisconnected() where both flags are clear. Reviewed by: dfr, rmacklem MFC after: 1 week
Diffstat (limited to 'contrib/diff/lib/hard-locale.c')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud