Page MenuHomeFreeBSD

D31755.diff
No OneTemporary

D31755.diff

diff --git a/sys/netinet/sctp_input.c b/sys/netinet/sctp_input.c
--- a/sys/netinet/sctp_input.c
+++ b/sys/netinet/sctp_input.c
@@ -4895,6 +4895,11 @@
struct sctp_inpcb *linp;
struct sctp_tmit_chunk *chk;
+ if (inp->sctp_flags & (SCTP_PCB_FLAGS_SOCKET_GONE |
+ SCTP_PCB_FLAGS_SOCKET_ALLGONE)) {
+ goto abend;
+ }
+
if (stcb) {
linp = NULL;
} else {
@@ -4903,11 +4908,6 @@
if (linp != NULL) {
SCTP_ASOC_CREATE_LOCK(linp);
- if ((inp->sctp_flags & SCTP_PCB_FLAGS_SOCKET_GONE) ||
- (inp->sctp_flags & SCTP_PCB_FLAGS_SOCKET_ALLGONE)) {
- SCTP_ASOC_CREATE_UNLOCK(linp);
- goto abend;
- }
}
if (netp != NULL) {

File Metadata

Mime Type
text/plain
Expires
Mon, Sep 30, 3:26 AM (22 h, 3 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
13166737
Default Alt Text
D31755.diff (701 B)

Event Timeline