On Mon, 2020-09-14 at 20:19 +0100, Alex Dewar wrote: > The for loop checks whether cur_section is NULL on every iteration, > but > we know it can never be NULL as there is another check towards the > bottom of the loop body. Remove this unnecessary check. > > Also change i to start at 1, so that we don't need an extra +1 wheno > we > use it. > > Addresses-Coverity: 1496984 ("Null pointer dereferences) > Signed-off-by: Alex Dewar <alex.dewar90@xxxxxxxxx> > --- > drivers/net/wireless/ath/ath10k/sdio.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/net/wireless/ath/ath10k/sdio.c > b/drivers/net/wireless/ath/ath10k/sdio.c > index 81ddaafb6721..f31ab2ec2c48 100644 > --- a/drivers/net/wireless/ath/ath10k/sdio.c > +++ b/drivers/net/wireless/ath/ath10k/sdio.c > @@ -2308,7 +2308,7 @@ static int > ath10k_sdio_dump_memory_section(struct ath10k *ar, > > count = 0; > > - for (i = 0; cur_section; i++) { > + for (i = 1; ; i++) { 'i' is only referenced once inside the loop to check boundary, the loop is actually iterating over cur_section, so i would make it clear in the loop statement, e.g.: Remove the break condition and the cur_section assignment at the end of the loop and use the loop statement to do it for you for (; cur_section; cur_section = next_section) > section_size = cur_section->end - cur_section->start; > > if (section_size <= 0) { > @@ -2318,7 +2318,7 @@ static int > ath10k_sdio_dump_memory_section(struct ath10k *ar, > break; > } > > - if ((i + 1) == mem_region->section_table.size) { And for i you can just increment it inline: if (++i == ...) > + if (i == mem_region->section_table.size) { > /* last section */ > next_section = NULL; > skip_size = 0;