diff options
author | Peng Fan <peng.fan@nxp.com> | 2016-01-12 17:23:12 +0800 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2016-01-13 21:05:26 -0500 |
commit | db18f548cb7b5ff99223b66eac1966eb45230817 (patch) | |
tree | 4b1088d7ea6775ffb31b359463f1a9423710a8ad /common | |
parent | bb08a6e7d513cc1f591b35a6e7e68dd92078eed6 (diff) | |
download | u-boot-imx-db18f548cb7b5ff99223b66eac1966eb45230817.zip u-boot-imx-db18f548cb7b5ff99223b66eac1966eb45230817.tar.gz u-boot-imx-db18f548cb7b5ff99223b66eac1966eb45230817.tar.bz2 |
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')
-rw-r--r-- | common/env_flags.c | 2 |
1 files changed, 1 insertions, 1 deletions
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; |