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;
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;
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;
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;