[Sound-open-firmware] [PATCH] DMIC: Add robustness against erroneous configuration parameters
Liam Girdwood
liam.r.girdwood at linux.intel.com
Thu May 24 12:09:23 CEST 2018
On Tue, 2018-05-22 at 20:07 +0300, Seppo Ingalsuo wrote:
> This patch ensures that modes matching request returns immediately if
> the results length would exceed the allocated length. The caller function
> will issue an error in such case.
>
> Also the possibility of using array pdm[] in the IPM helper function
> as uninitialized is avoided by initializing it with zeros.
>
> Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo at linux.intel.com>
> ---
> src/drivers/dmic.c | 7 ++++++-
> 1 file changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/src/drivers/dmic.c b/src/drivers/dmic.c
> index 33783f8..5c8591c 100644
> --- a/src/drivers/dmic.c
> +++ b/src/drivers/dmic.c
> @@ -334,6 +334,11 @@ static void match_modes(struct matched_modes *c, struct
> decim_modes *a,
> return;
> }
>
> + /* Ensure that num_of_modes is sane. */
> + if (a->num_of_modes > DMIC_MAX_MODES ||
> + b->num_of_modes > DMIC_MAX_MODES)
> + return;
> +
> /* Check for request only for FIFO A or B. In such case pass list for
> * A or B as such.
> */
> @@ -633,7 +638,7 @@ static int select_mode(struct dmic_configuration *cfg,
> static inline void ipm_helper(int *ipm, int stereo[], int swap[],
> struct sof_ipc_dai_dmic_params *dmic)
> {
> - int pdm[DMIC_HW_CONTROLLERS];
> + int pdm[DMIC_HW_CONTROLLERS] = {0};
> int cnt;
> int i;
>
Applied.
Thanks
Liam
More information about the Sound-open-firmware
mailing list