On Wed, Nov 11, 2020 at 7:07 PM Jorge Ramirez-Ortiz, Gmail
<jorge.ramirez.or...@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....@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;
> > >     }
> > >
> > >
> >

Reply via email to