[alsa-devel] [PATCH] ASoC: Intel: Skylake: Re-order some code to silence a warning

Vinod Koul vinod.koul at intel.com
Mon Dec 11 11:39:44 CET 2017


On Fri, Dec 08, 2017 at 02:54:25PM +0300, Dan Carpenter wrote:
> I get a Smatch warning here:
> 
>     sound/soc/intel/skylake/skl-nhlt.c:335 skl_get_ssp_clks()
>     error: testing array offset 'j' after use.
> 
> The code is harmless, but the checker is right that we should swap these
> two conditions so we verify that the offset is within bounds before we
> use it.

Acked-By: Vinod Koul <vinod.koul at intel.com>

> Signed-off-by: Dan Carpenter <dan.carpenter at oracle.com>
> 
> diff --git a/sound/soc/intel/skylake/skl-nhlt.c b/sound/soc/intel/skylake/skl-nhlt.c
> index afa557a1c031..54f9bd630f4f 100644
> --- a/sound/soc/intel/skylake/skl-nhlt.c
> +++ b/sound/soc/intel/skylake/skl-nhlt.c
> @@ -331,8 +331,8 @@ static void skl_get_ssp_clks(struct skl *skl, struct skl_ssp_clk *ssp_clks,
>  		rate = channels * bps * fs;
>  
>  		/* check if the rate is added already to the given SSP's sclk */
> -		for (j = 0; (sclk[id].rate_cfg[j].rate != 0) &&
> -				(j < SKL_MAX_CLK_RATES); j++) {
> +		for (j = 0; (j < SKL_MAX_CLK_RATES) &&
> +			    (sclk[id].rate_cfg[j].rate != 0); j++) {
>  			if (sclk[id].rate_cfg[j].rate == rate) {
>  				present = true;
>  				break;

-- 
~Vinod


More information about the Alsa-devel mailing list