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

Commit 01c58165 authored by Xiaojun Sang's avatar Xiaojun Sang Committed by Gerrit - the friendly Code Review server
Browse files

ASoC: qdsp6v2: fix potential bug of infinite loop



When variable bufsz equals to 0, there would be infinite loop
at q6asm_audio_client_buf_alloc.
Fix the potential bug by checking bufsz beforehand.

CRs-Fixed: 1072280
Change-Id: I9640112b8945dc603e3af55fc1096bea9f7e6634
Signed-off-by: default avatarXiaojun Sang <xsang@codeaurora.org>
parent f6a9d356
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -1179,8 +1179,9 @@ int q6asm_audio_client_buf_alloc(unsigned int dir,
	struct audio_buffer *buf;
	size_t len;

	if (!(ac) || ((dir != IN) && (dir != OUT))) {
		pr_err("%s: ac %pK dir %d\n", __func__, ac, dir);
	if (!(ac) || !(bufsz) || ((dir != IN) && (dir != OUT))) {
		pr_err("%s: ac %pK bufsz %d dir %d\n", __func__, ac, bufsz,
			dir);
		return -EINVAL;
	}