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

Commit 1ff291a1 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "ASoC: msm: check payload size before memory allocation"

parents e1c2b1f9 ad40ee7b
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -3748,9 +3748,8 @@ static int msm_compr_adsp_stream_cmd_put(struct snd_kcontrol *kcontrol,
		goto done;
	}


	if ((sizeof(struct msm_adsp_event_data) + event_data->payload_len) >=
					sizeof(ucontrol->value.bytes.data)) {
	if (event_data->payload_len > sizeof(ucontrol->value.bytes.data)
			 - sizeof(struct msm_adsp_event_data)) {
		pr_err("%s param length=%d  exceeds limit",
			__func__, event_data->payload_len);
		ret = -EINVAL;
+2 −2
Original line number Diff line number Diff line
@@ -1165,8 +1165,8 @@ static int msm_pcm_adsp_stream_cmd_put(struct snd_kcontrol *kcontrol,
		goto done;
	}

	if ((sizeof(struct msm_adsp_event_data) + event_data->payload_len) >=
					sizeof(ucontrol->value.bytes.data)) {
	if (event_data->payload_len > sizeof(ucontrol->value.bytes.data)
			- sizeof(struct msm_adsp_event_data)) {
		pr_err("%s param length=%d  exceeds limit",
			__func__, event_data->payload_len);
		ret = -EINVAL;
+3 −2
Original line number Diff line number Diff line
@@ -982,8 +982,9 @@ int msm_adsp_inform_mixer_ctl(struct snd_soc_pcm_runtime *rtd,

	event_data = (struct msm_adsp_event_data *)payload;
	kctl->info(kctl, &kctl_info);
	if (sizeof(struct msm_adsp_event_data)
		+ event_data->payload_len > kctl_info.count) {

	if (event_data->payload_len >
		kctl_info.count - sizeof(struct msm_adsp_event_data)) {
		pr_err("%s: payload length exceeds limit of %u bytes.\n",
			__func__, kctl_info.count);
		ret = -EINVAL;
+2 −3
Original line number Diff line number Diff line
@@ -692,9 +692,8 @@ static int msm_transcode_stream_cmd_put(struct snd_kcontrol *kcontrol,
		goto done;
	}


	if ((sizeof(struct msm_adsp_event_data) + event_data->payload_len) >=
					sizeof(ucontrol->value.bytes.data)) {
	if (event_data->payload_len > sizeof(ucontrol->value.bytes.data)
		- sizeof(struct msm_adsp_event_data)) {
		pr_err("%s param length=%d  exceeds limit",
			 __func__, event_data->payload_len);
		ret = -EINVAL;