aboutsummaryrefslogtreecommitdiff
path: root/sys/netinet/udp_usrreq.c
diff options
context:
space:
mode:
authorGleb Smirnoff <glebius@FreeBSD.org>2005-02-22 07:50:02 +0000
committerGleb Smirnoff <glebius@FreeBSD.org>2005-02-22 07:50:02 +0000
commit3a1757b9c073e2d2ee3e79a91e98fd62fa157182 (patch)
treed99f4dbb67ca7cc3dd0821dbff1ed73dad3309c9 /sys/netinet/udp_usrreq.c
parent914d092f5d6d26ec5b4df84caac436e20f9da807 (diff)
Notes
Diffstat (limited to 'sys/netinet/udp_usrreq.c')
-rw-r--r--sys/netinet/udp_usrreq.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/sys/netinet/udp_usrreq.c b/sys/netinet/udp_usrreq.c
index 29bfaf29314cf..d96344b278f50 100644
--- a/sys/netinet/udp_usrreq.c
+++ b/sys/netinet/udp_usrreq.c
@@ -804,6 +804,11 @@ udp_output(inp, m, addr, control, td)
/* Commit the local port if newly assigned. */
if (inp->inp_laddr.s_addr == INADDR_ANY &&
inp->inp_lport == 0) {
+ /*
+ * Remember addr if jailed, to prevent rebinding.
+ */
+ if (jailed(td->td_ucred))
+ inp->inp_laddr = laddr;
inp->inp_lport = lport;
if (in_pcbinshash(inp) != 0) {
inp->inp_lport = 0;