
Hi,
On 11/11/20 7:25 PM, 김호연지기 wrote:
On Wed, Nov 11, 2020 at 7:07 PM Jorge Ramirez-Ortiz, Gmail jorge.ramirez.ortiz@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@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,
- "str" is shorter than "info.name", and
- 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
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; }