Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 44e65c1e authored by Wei Yongjun's avatar Wei Yongjun Committed by Vlad Yasevich
Browse files

sctp: check the unrecognized ASCONF parameter before access it



This patch fix to check the unrecognized ASCONF parameter before
access it.

Signed-off-by: default avatarWei Yongjun <yjwei@cn.fujitsu.com>
Signed-off-by: default avatarVlad Yasevich <vladislav.yasevich@hp.com>
parent 425e0f68
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -2861,6 +2861,11 @@ static __be16 sctp_process_asconf_param(struct sctp_association *asoc,
	addr_param = (union sctp_addr_param *)
			((void *)asconf_param + sizeof(sctp_addip_param_t));

	if (asconf_param->param_hdr.type != SCTP_PARAM_ADD_IP &&
	    asconf_param->param_hdr.type != SCTP_PARAM_DEL_IP &&
	    asconf_param->param_hdr.type != SCTP_PARAM_SET_PRIMARY)
		return SCTP_ERROR_UNKNOWN_PARAM;

	switch (addr_param->v4.param_hdr.type) {
	case SCTP_PARAM_IPV6_ADDRESS:
		if (!asoc->peer.ipv6_address)
@@ -2958,9 +2963,6 @@ static __be16 sctp_process_asconf_param(struct sctp_association *asoc,

		sctp_assoc_set_primary(asoc, peer);
		break;
	default:
		return SCTP_ERROR_UNKNOWN_PARAM;
		break;
	}

	return SCTP_ERROR_NO_ERROR;