ASoC: wcd934x-dsp-cntl: initialize local char array val
Due to the local char array that stores the codec dsp control command is not initialized, an invalid command could cause the stack content to be printed out in kernel dmesg. Initialize the array with memset. Change-Id: I9573958fbe308c170c203a6a50a94d0540f3e7ce Signed-off-by: Xiaoyu Ye <benyxy@codeaurora.org>
This commit is contained in:
parent
11ee621aea
commit
1767f08490
1 changed files with 3 additions and 1 deletions
|
@ -910,10 +910,12 @@ static ssize_t wcd_miscdev_write(struct file *filep, const char __user *ubuf,
|
||||||
{
|
{
|
||||||
struct wcd_dsp_cntl *cntl = container_of(filep->private_data,
|
struct wcd_dsp_cntl *cntl = container_of(filep->private_data,
|
||||||
struct wcd_dsp_cntl, miscdev);
|
struct wcd_dsp_cntl, miscdev);
|
||||||
char val[WCD_DSP_CNTL_MAX_COUNT];
|
char val[WCD_DSP_CNTL_MAX_COUNT + 1];
|
||||||
bool vote;
|
bool vote;
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
|
|
||||||
|
memset(val, 0, WCD_DSP_CNTL_MAX_COUNT + 1);
|
||||||
|
|
||||||
if (count == 0 || count > WCD_DSP_CNTL_MAX_COUNT) {
|
if (count == 0 || count > WCD_DSP_CNTL_MAX_COUNT) {
|
||||||
pr_err("%s: Invalid count = %zd\n", __func__, count);
|
pr_err("%s: Invalid count = %zd\n", __func__, count);
|
||||||
ret = -EINVAL;
|
ret = -EINVAL;
|
||||||
|
|
Loading…
Add table
Reference in a new issue