diff options
Diffstat (limited to 'sys/netinet')
-rw-r--r-- | sys/netinet/sctp_output.c | 5 | ||||
-rw-r--r-- | sys/netinet/sctp_timer.c | 3 |
2 files changed, 5 insertions, 3 deletions
diff --git a/sys/netinet/sctp_output.c b/sys/netinet/sctp_output.c index 77beb1f..ac2da30 100644 --- a/sys/netinet/sctp_output.c +++ b/sys/netinet/sctp_output.c @@ -10436,9 +10436,10 @@ sctp_copy_resume(struct sctp_stream_queue_pending *sp, (M_PKTHDR | (user_marks_eor ? M_EOR : 0))); if (m == NULL) *error = ENOMEM; - else + else { *sndout = m_length(m, NULL); - *new_tail = m_last(m); + *new_tail = m_last(m); + } return (m); } diff --git a/sys/netinet/sctp_timer.c b/sys/netinet/sctp_timer.c index 9e17dd0..380c357 100644 --- a/sys/netinet/sctp_timer.c +++ b/sys/netinet/sctp_timer.c @@ -1706,7 +1706,8 @@ select_a_new_ep: if (iteration_count > SCTP_ITERATOR_MAX_AT_ONCE) { start_timer_return: /* set a timer to continue this later */ - SCTP_TCB_UNLOCK(it->stcb); + if (it->stcb) + SCTP_TCB_UNLOCK(it->stcb); sctp_timer_start(SCTP_TIMER_TYPE_ITERATOR, (struct sctp_inpcb *)it, NULL, NULL); SCTP_ITERATOR_UNLOCK(); |