u-boot-brain/board/xilinx/common
Heinrich Schuchardt b6d14c52f9 fru: ops: avoid out of bounds access
Building xilinx_zynq_virt_defconfig fails on origin/next as reported by
GCC 10.2 (as provided by Debian Bullseye):

  CC      board/xilinx/common/fru_ops.o
board/xilinx/common/fru_ops.c: In function ‘fru_capture’:
board/xilinx/common/fru_ops.c:173:8:
error: array subscript 284 is outside array bounds of
‘struct fru_table[1]’ [-Werror=array-bounds]
  173 |  limit = data + sizeof(struct fru_board_data);
      |  ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
board/xilinx/common/fru_ops.c:17:18: note: while referencing ‘fru_data’
   17 | struct fru_table fru_data __section(.data);
      |                  ^~~~~~~~

When using sizeof(struct fru_board_data) to find the end of the structure
you should add it to the start of the structure.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2021-01-05 11:54:53 +01:00
..
board.c xilinx: Consolidate board_fit_config_name_match() for Xilinx platforms 2020-10-29 08:55:43 +01:00
board.h xilinx: board: Read the whole eeprom not just offset 2020-10-27 08:13:32 +01:00
fru_ops.c fru: ops: avoid out of bounds access 2021-01-05 11:54:53 +01:00
fru.c xilinx: cmd: Add basic fru format generator 2020-10-27 08:13:32 +01:00
fru.h fru: common: Record pcie/uuid fields in custom board area 2020-11-20 10:42:54 +01:00
Makefile xilinx: cmd: Add support for FRU commands 2020-10-27 08:13:32 +01:00