From mboxrd@z Thu Jan 1 00:00:00 1970 From: Hoyeonjiki Kim Date: Thu, 12 Nov 2020 20:08:27 +0900 Subject: [PATCH] env: mmc: Correct partition comparison in mmc_offset_try_partition In-Reply-To: <028f53ca-2251-0bf0-37ed-49e1cf213cbd@samsung.com> References: <20201110142837.2987-1-jigi.kim@gmail.com> <21adc771-9660-da52-65c8-c2029de9a29e@samsung.com> <20201111100756.GA32726@trex> <028f53ca-2251-0bf0-37ed-49e1cf213cbd@samsung.com> Message-ID: List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On Thu, Nov 12, 2020 at 8:34 AM Jaehoon Chung wrote: > > Hi, > > On 11/11/20 7:25 PM, ????? wrote: > > On Wed, Nov 11, 2020 at 7:07 PM Jorge Ramirez-Ortiz, Gmail > > 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 > >>>> --- > >>>> 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"? > > Make sense. You're right. :) > > There are two approach. One is that choose one of those length what is longer. > Other is your approach. I don't have any objection to fix whatever. > > Just resend your patch with Jorge's comment, plz. > > > Best Regards, > Jaehoon Chung Sure, thanks for your opinion. Will be back with v2. Best Regards, Hoyeonjiki Kim > > > > > 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; > >>>> } > >>>> > >>>> > >>> > > >