From: Peng Fan <peng....@nxp.com>

We should use ARRAY_SIZE, but not sizeof. The size of
env_flags_varaccess_mask is 16bytes, but we only need 4 loops.
If using 16 as the end condition, we may access memory that
not belong to array env_flags_varaccess_mask.

Signed-off-by: Peng Fan <peng....@nxp.com>
Cc: Joe Hershberger <joe.hershber...@ni.com>
Cc: York Sun <york...@freescale.com>
Cc: Simon Glass <s...@chromium.org>
Cc: Tom Rini <tr...@konsulko.com>
---
 common/env_flags.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/common/env_flags.c b/common/env_flags.c
index 7719355..9c3aed1 100644
--- a/common/env_flags.c
+++ b/common/env_flags.c
@@ -152,7 +152,7 @@ enum env_flags_varaccess 
env_flags_parse_varaccess_from_binflags(int binflags)
 {
        int i;
 
-       for (i = 0; i < sizeof(env_flags_varaccess_mask); i++)
+       for (i = 0; i < ARRAY_SIZE(env_flags_varaccess_mask); i++)
                if (env_flags_varaccess_mask[i] ==
                    (binflags & ENV_FLAGS_VARACCESS_BIN_MASK))
                        return (enum env_flags_varaccess)i;
-- 
2.6.2

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to