Fix the handling of invalid parameters in ASCONF chunks.

Thanks to Mark Wodrich from Google for reproting the issue in
https://github.com/sctplab/usrsctp/issues/376
for the userland stack.

MFC after:		3 days
This commit is contained in:
Michael Tuexen 2019-09-20 08:20:20 +00:00
parent 23883413d4
commit e6b3bd22d8
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=352550

View File

@ -703,6 +703,7 @@ sctp_handle_asconf(struct mbuf *m, unsigned int offset,
if (param_length <= sizeof(struct sctp_paramhdr)) {
SCTPDBG(SCTP_DEBUG_ASCONF1, "handle_asconf: param length (%u) too short\n", param_length);
sctp_m_freem(m_ack);
return;
}
/* get the entire parameter */
aph = (struct sctp_asconf_paramhdr *)sctp_m_getptr(m, offset, param_length, aparam_buf);