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

Commit 80b063e8 authored by Karthikeyan Mani's avatar Karthikeyan Mani
Browse files

asoc: codecs: wcd938x: limit buffer copy to max buffer size



Check for max buffer size before filling the buffer and
add error handling for cases where buffer copy fails.

Change-Id: I0eede1e5baf63c35c65a704c8bf53c85fe49892e
Signed-off-by: default avatarKarthikeyan Mani <kmani@codeaurora.org>
parent 6fc4b30d
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -112,9 +112,9 @@ static ssize_t wcd938x_swrslave_reg_show(struct swr_device *pdev,
		if (!is_swr_slv_reg_readable(i))
			continue;
		swr_read(pdev, pdev->dev_num, i, &reg_val, 1);
		len = snprintf(tmp_buf, 25, "0x%.3x: 0x%.2x\n", i,
		len = snprintf(tmp_buf, sizeof(tmp_buf), "0x%.3x: 0x%.2x\n", i,
			       (reg_val & 0xFF));
		if ((total + len) >= count - 1)
		if (((total + len) >= count - 1) || (len < 0))
			break;
		if (copy_to_user((ubuf + total), tmp_buf, len)) {
			pr_err("%s: fail to copy reg dump\n", __func__);