diff --git a/net/sctp/input.c b/net/sctp/input.c index 9dcc18db99186ccee40067966c14b15d5576668b..90848d937b9b8971d8787733de18b9dbd43a22c3 100644 --- a/net/sctp/input.c +++ b/net/sctp/input.c @@ -1008,6 +1008,9 @@ static struct sctp_association *__sctp_rcv_asconf_lookup( union sctp_addr_param *param; union sctp_addr paddr; + if (ntohs(ch->length) < sizeof(*asconf) + sizeof(struct sctp_paramhdr)) + return NULL; + /* Skip over the ADDIP header and find the Address parameter */ param = (union sctp_addr_param *)(asconf + 1);