[PATCH] env: mmc: Correct partition comparison in mmc_offset_try_partition

Jorge Ramirez-Ortiz, Gmail jorge.ramirez.ortiz at gmail.com
Wed Nov 11 11:07:56 CET 2020


On 11/11/20, Jaehoon Chung wrote:
> On 11/10/20 11:28 PM, Hoyeonjiki Kim wrote:
> > The function mmc_offset_try_partition searches MMC partition to save the
> > environment data by name.  However, it only compares the first word-size
> > bytes (size of 'const char *'), which may make the function to find
> > unintended partition.
> > 
> > Correct the function not to partially compare the partition name with
> > config "u-boot,,mmc-env-partition".
> > 
> > Signed-off-by: Hoyeonjiki Kim <jigi.kim at gmail.com>
> > ---
> >  env/mmc.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/env/mmc.c b/env/mmc.c
> > index 4e67180b23..505f7aa2b8 100644
> > --- a/env/mmc.c
> > +++ b/env/mmc.c
> > @@ -42,7 +42,7 @@ static inline int mmc_offset_try_partition(const char *str, int copy, s64 *val)
> >  		if (ret < 0)
> >  			return ret;
> >  
> > -		if (!strncmp((const char *)info.name, str, sizeof(str)))
> > +		if (!strcmp((const char *)info.name, str))
> 
> Using "strlen(str)" is better than changing to strcmp.
> 
> strncmp(..., ..., strlen(str))

absolutely.
maybe also modify the commit like to indicate a fix to the current bug?

> 
> 
> Best Regards,
> Jaehoon Chung
> 
> >  			break;
> >  	}
> >  
> > 
> 


More information about the U-Boot mailing list