summaryrefslogtreecommitdiff
path: root/common
diff options
context:
space:
mode:
authorPeng Fan <[email protected]>2016-01-12 17:23:12 +0800
committerTom Rini <[email protected]>2016-01-13 21:05:26 -0500
commitdb18f548cb7b5ff99223b66eac1966eb45230817 (patch)
tree4b1088d7ea6775ffb31b359463f1a9423710a8ad /common
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 <[email protected]> Cc: Joe Hershberger <[email protected]> Cc: York Sun <[email protected]> Cc: Simon Glass <[email protected]> Cc: Tom Rini <[email protected]> Reviewed-by: Simon Glass <[email protected]> Acked-by: Joe Hershberger <[email protected]>
Diffstat (limited to 'common')
-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;