summaryrefslogtreecommitdiff
path: root/common/env_flags.c
diff options
context:
space:
mode:
authorPeng Fan <peng.fan@nxp.com>2016-01-12 17:23:12 +0800
committerTom Rini <trini@konsulko.com>2016-01-13 21:05:26 -0500
commitdb18f548cb7b5ff99223b66eac1966eb45230817 (patch)
tree4b1088d7ea6775ffb31b359463f1a9423710a8ad /common/env_flags.c
parentbb08a6e7d513cc1f591b35a6e7e68dd92078eed6 (diff)
common: env_flags: fix loop condition when using env_flags_varaccess_mask
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.fan@nxp.com> Cc: Joe Hershberger <joe.hershberger@ni.com> Cc: York Sun <yorksun@freescale.com> Cc: Simon Glass <sjg@chromium.org> Cc: Tom Rini <trini@konsulko.com> Reviewed-by: Simon Glass <sjg@chromium.org> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Diffstat (limited to 'common/env_flags.c')
-rw-r--r--common/env_flags.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/common/env_flags.c b/common/env_flags.c
index 771935508cb..9c3aed15278 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;