dsp: codecs: fix range check for audio buffer copying

The range checking for audio buffer copying in function
"audio_in_write" is using the incorrect buffer size.
Change it to the actual allocated audio buffer size.

Change-Id: Ib7aaa2163c0d99161369eb85d09dc2d23d8c787b
Signed-off-by: Xiaoyu Ye <benyxy@codeaurora.org>
[haggertk: Backport to 3.4/msm8974]
CVE-2019-2341
Signed-off-by: Kevin F. Haggerty <haggertk@lineageos.org>
This commit is contained in:
Xiaoyu Ye 2019-03-03 21:14:10 -08:00 committed by Francescodario Cuzzocrea
parent 66c27b00ee
commit b3fb83770e

View file

@ -1,4 +1,4 @@
/* Copyright (c) 2010-2014, The Linux Foundation. All rights reserved. /* Copyright (c) 2010-2014, 2019 The Linux Foundation. All rights reserved.
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and * it under the terms of the GNU General Public License version 2 and
@ -614,8 +614,7 @@ ssize_t audio_in_write(struct file *file,
__func__, audio->ac->session); __func__, audio->ac->session);
} }
} }
xfer = (count > (audio->pcm_cfg.buffer_size)) ? xfer = (count > size) ? size : count;
(audio->pcm_cfg.buffer_size) : count;
if (copy_from_user(cpy_ptr, buf, xfer)) { if (copy_from_user(cpy_ptr, buf, xfer)) {
rc = -EFAULT; rc = -EFAULT;