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

Hoyeonjiki Kim jigi.kim at gmail.com
Thu Nov 12 14:12:37 CET 2020


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".

Fixes: c9e87ba66540 ("env: Save environment at the end of an MMC partition")
Signed-off-by: Hoyeonjiki Kim <jigi.kim at gmail.com>
Reviewed-by: Jaehoon Chung <jh80.chung at samsung.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))
 			break;
 	}
 
-- 
2.25.1



More information about the U-Boot mailing list