The function mmc_offset_try_partition searches the MMC partition for
locating environment data, by comparing the partition names with config
"u-boot,mmc-env-parition". 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".

Fixes: c9e87ba66540 ("env: Save environment at the end of an MMC partition")
Signed-off-by: Hoyeonjiki Kim <jigi....@gmail.com>
Reviewed-by: Jaehoon Chung <jh80.ch...@samsung.com>
Reviewed-by: Jorge Ramire-Ortiz <jrami...@baylibre.com>
Reviewed-by: Wolfgang Denk <w...@denx.de>
---
 env/mmc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/env/mmc.c b/env/mmc.c
index 4e67180b23..ee376c3e0c 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 (!strncmp((const char *)info.name, str, sizeof(info.name)))
                        break;
        }
 
-- 
2.25.1

Reply via email to