diff options
author | Michael Tuexen <tuexen@fh-muenster.de> | 2020-05-23 11:44:41 +0200 |
---|---|---|
committer | Michael Tuexen <tuexen@fh-muenster.de> | 2020-05-23 11:44:41 +0200 |
commit | 02768fc45268c653f8251bb8db648d2d4d63c03d (patch) | |
tree | e06d89431c47bfc6a395137bdcf012f5cf37b614 | |
parent | 79ce3f1e13cd1cb283871ec5a9f90cf4062d91d4 (diff) | |
download | usrsctp-02768fc45268c653f8251bb8db648d2d4d63c03d.tar.gz |
Don't reference an stcb which is about to be freed.
-rwxr-xr-x | usrsctplib/netinet/sctp_indata.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/usrsctplib/netinet/sctp_indata.h b/usrsctplib/netinet/sctp_indata.h index 96c8bff..7386be8 100755 --- a/usrsctplib/netinet/sctp_indata.h +++ b/usrsctplib/netinet/sctp_indata.h @@ -34,7 +34,7 @@ #ifdef __FreeBSD__ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: head/sys/netinet/sctp_indata.h 351655 2019-09-01 10:39:16Z tuexen $"); +__FBSDID("$FreeBSD: head/sys/netinet/sctp_indata.h 361116 2020-05-16 19:26:39Z tuexen $"); #endif #ifndef _NETINET_SCTP_INDATA_H_ @@ -70,6 +70,9 @@ sctp_build_readq_entry(struct sctp_tcb *stcb, (_ctl)->data = dm; \ (_ctl)->stcb = (in_it); \ (_ctl)->port_from = (in_it)->rport; \ + if ((in_it)->asoc.state & SCTP_STATE_ABOUT_TO_BE_FREED) { \ + (_ctl)->do_not_ref_stcb = 1; \ + }\ } \ } while (0) |