diff options
author | Masahiro Yamada <yamada.m@jp.panasonic.com> | 2014-07-22 01:57:18 (GMT) |
---|---|---|
committer | Tom Rini <trini@ti.com> | 2014-07-22 13:46:48 (GMT) |
commit | 61f06b143e92de70272627b4cd23d7b1e5af256e (patch) | |
tree | bd67b5814899af6b84ac73d091f71cf33b7f3243 /fs/fs.c | |
parent | e8078046b4f6484f2e5bcc65cab0f449acd1d208 (diff) | |
download | u-boot-fsl-qoriq-61f06b143e92de70272627b4cd23d7b1e5af256e.tar.xz |
m68k: fix an undefined behavior warning of M5253DEMO board
The latest GCC is so clever that it reports more warnings
than old ones did:
------------------------------>8------------------------------
board/freescale/m5253demo/flash.c: In function 'flash_get_offsets':
board/freescale/m5253demo/flash.c:65:23: warning: iteration 2047u
invokes undefined behavior [-Waggressive-loop-optimizations]
info->start[k + 1] = info->start[k] + CONFIG_SYS_SST_SECTSZ;
^
board/freescale/m5253demo/flash.c:64:3: note: containing loop
for (k = 0, j = 0; j < CONFIG_SYS_SST_SECT; j++, k++) {
^
------------------------------8<------------------------------
The cause of the warning is like this:
The for statement iterates 2048 times in flash_get_offsets() func.
(Notice CONFIG_SYS_SST_SECT is defined as 2048)
The last iteration does
info->start[2048] = info->start[2047] + CONFIG_SYS_SST_SECTSZ;
causing an undefined behavior.
(Please note the array size of info->start is 2048.
CONFIG_SYS_MAX_FLASH_SECT is defined as 2048 for this board.)
This commit fixes that so as not to overrun the info->start array.
Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Cc: Jason Jin <Jason.jin@freescale.com>
Diffstat (limited to 'fs/fs.c')
0 files changed, 0 insertions, 0 deletions