]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
env: mmc: Correct partition comparison in mmc_offset_try_partition
authorHoyeonjiki Kim <jigi.kim@gmail.com>
Tue, 17 Nov 2020 03:32:08 +0000 (12:32 +0900)
committerTom Rini <trini@konsulko.com>
Wed, 18 Nov 2020 18:46:58 +0000 (13:46 -0500)
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.kim@gmail.com>
Reviewed-by: Wolfgang Denk <wd@denx.de>
env/mmc.c

index 4e67180b23a0ba0449072720f9caf54d85d7be47..ee376c3e0c3c481fce1f1264960ba2bd57674353 100644 (file)
--- 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;
        }