openrisc: fix clang error core.CallAndMessage
commit7a09635735486dd2d74576b003c85c7ff16705d5
authorAntonio Borneo <borneo.antonio@gmail.com>
Tue, 1 Nov 2022 23:33:16 +0000 (2 00:33 +0100)
committerAntonio Borneo <borneo.antonio@gmail.com>
Fri, 11 Nov 2022 20:10:41 +0000 (11 20:10 +0000)
tree4472f937f79ffb98bf85ecaf8079fc53bdcbcb5e
parentaca3707bd8848a568dff190e155a7da31b8b5aa4
openrisc: fix clang error core.CallAndMessage

Clang assumes that size could assume a value that is not 1 nor 2
nor 4. In such condition the buffer in t is allocated (size != 1)
and not initialized. This triggers an error:
  src/target/openrisc/or1k_du_adv.c:655:14: warning: 2nd function
    call argument is an uninitialized value [core.CallAndMessage]
                crc_calc = adbg_compute_crc(crc_calc, data[i], 8);
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Add the default case to cover other values of size.

After this fix, clang still complains on the same line, this time
misunderstanding the limits of the loop and considering that
buf_bswap16() only swaps the first 16 bits, thus passing not
initialized value data[2] to adbg_compute_crc()

Replace malloc() with calloc() to silent it.

Change-Id: I358d7fb2ebefd69255670641bd435b770762a301
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/7300
Tested-by: jenkins
src/target/openrisc/or1k_du_adv.c