From d824e0e69267ab78c1953551578da2656a274880 Mon Sep 17 00:00:00 2001 From: Wei Yongjun Date: Fri, 9 May 2008 15:11:53 -0700 Subject: [PATCH] --- yaml --- r: 96539 b: refs/heads/master c: c4492586a618d18e8a5343a04bad0ec606064846 h: refs/heads/master i: 96537: 9ca1d737e5ef9be9165da24fe84210160a0c50c4 96535: 8c9cce04321bd8aaa23be319e6163553190f23cc v: v3 --- [refs] | 2 +- trunk/net/sctp/sm_make_chunk.c | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 4a09ee3ce59e..f0b610379b02 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 6e40a915de82e00d18f75941e531b40c4e0d94c4 +refs/heads/master: c4492586a618d18e8a5343a04bad0ec606064846 diff --git a/trunk/net/sctp/sm_make_chunk.c b/trunk/net/sctp/sm_make_chunk.c index 69a464f1d2b9..6eeee535e94e 100644 --- a/trunk/net/sctp/sm_make_chunk.c +++ b/trunk/net/sctp/sm_make_chunk.c @@ -2827,6 +2827,19 @@ static __be16 sctp_process_asconf_param(struct sctp_association *asoc, union sctp_addr addr; union sctp_addr_param *addr_param; + switch (addr_param->v4.param_hdr.type) { + case SCTP_PARAM_IPV6_ADDRESS: + if (!asoc->peer.ipv6_address) + return SCTP_ERROR_INV_PARAM; + break; + case SCTP_PARAM_IPV4_ADDRESS: + if (!asoc->peer.ipv4_address) + return SCTP_ERROR_INV_PARAM; + break; + default: + return SCTP_ERROR_INV_PARAM; + } + addr_param = (union sctp_addr_param *) ((void *)asconf_param + sizeof(sctp_addip_param_t));