mirror of
https://github.com/joel16/android_kernel_sony_msm8994.git
synced 2025-02-25 07:53:26 +00:00
mfd: wcd9xxx: Add range checking in function wcd9xxx_init_slimslave
Range checking is added to prevent buffer overflow. CRs-Fixed: 1098363 Change-Id: I5871a3a11ec5f5106a386bf149d7ec22605f3db8 Signed-off-by: Xiaoyu Ye <benyxy@codeaurora.org>
This commit is contained in:
parent
0ce9fe05b8
commit
ae4384b942
@ -1,4 +1,4 @@
|
||||
/* Copyright (c) 2012-2015, The Linux Foundation. All rights reserved.
|
||||
/* Copyright (c) 2012-2015, 2017 The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* 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
|
||||
@ -87,6 +87,10 @@ int wcd9xxx_init_slimslave(struct wcd9xxx *wcd9xxx, u8 wcd9xxx_pgd_la,
|
||||
goto err;
|
||||
}
|
||||
|
||||
if (!rx_num || rx_num > wcd9xxx->num_rx_port) {
|
||||
pr_err("%s: invalid rx num %d\n", __func__, rx_num);
|
||||
return -EINVAL;
|
||||
}
|
||||
if (wcd9xxx->rx_chs) {
|
||||
wcd9xxx->num_rx_port = rx_num;
|
||||
for (i = 0; i < rx_num; i++) {
|
||||
@ -109,6 +113,10 @@ int wcd9xxx_init_slimslave(struct wcd9xxx *wcd9xxx, u8 wcd9xxx_pgd_la,
|
||||
wcd9xxx->num_rx_port);
|
||||
}
|
||||
|
||||
if (!tx_num || tx_num > wcd9xxx->num_tx_port) {
|
||||
pr_err("%s: invalid tx num %d\n", __func__, tx_num);
|
||||
return -EINVAL;
|
||||
}
|
||||
if (wcd9xxx->tx_chs) {
|
||||
wcd9xxx->num_tx_port = tx_num;
|
||||
for (i = 0; i < tx_num; i++) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user