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

김호연지기 jigi.kim at gmail.com
Wed Nov 11 11:25:02 CET 2020


On Wed, Nov 11, 2020 at 7:07 PM Jorge Ramirez-Ortiz, Gmail
<jorge.ramirez.ortiz at gmail.com> wrote:
>
> 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?

Thanks for the feedback for both.

However, when we do so, isn't there still the possibility for the
function searching incorrect partition if,
1) "str" is shorter than "info.name", and
2) the first "strlen(str)" letters of "info.name" is same with those of "str"?

This commit is for fixing the current bug, but also I wanna make sure
that partition name matches fully.

Let me know your opinion.

Best Regards,
Hoeyonjiki Kim

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


More information about the U-Boot mailing list