summaryrefslogtreecommitdiff
path: root/usr/src/uts/common/inet/tcp/tcp.c
diff options
context:
space:
mode:
authorethindra <none@none>2006-07-05 12:04:09 -0700
committerethindra <none@none>2006-07-05 12:04:09 -0700
commitd0ab37af316f9d4e272f21fa947799008104cda1 (patch)
tree3c6996efe9193139c131966b53ba6d32ac7fe18d /usr/src/uts/common/inet/tcp/tcp.c
parent5bde59abae158f645e2e4bf6d316b8b448c08f16 (diff)
downloadillumos-joyent-d0ab37af316f9d4e272f21fa947799008104cda1.tar.gz
6348581 BAD TRAP in "ip" due to NULL pointer dereference (tcp_fuse_rcv_drain)
Diffstat (limited to 'usr/src/uts/common/inet/tcp/tcp.c')
-rw-r--r--usr/src/uts/common/inet/tcp/tcp.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/usr/src/uts/common/inet/tcp/tcp.c b/usr/src/uts/common/inet/tcp/tcp.c
index 5ae25e49d5..ea0175f165 100644
--- a/usr/src/uts/common/inet/tcp/tcp.c
+++ b/usr/src/uts/common/inet/tcp/tcp.c
@@ -3733,6 +3733,9 @@ tcp_clean_death(tcp_t *tcp, int err, uint8_t tag)
tcp->tcp_cleandeathtag = tag;
#endif
+ if (tcp->tcp_fused)
+ tcp_unfuse(tcp);
+
if (tcp->tcp_linger_tid != 0 &&
TCP_TIMER_CANCEL(tcp, tcp->tcp_linger_tid) >= 0) {
tcp_stop_lingering(tcp);