mirror of https://github.com/wolfSSL/wolfBoot.git
Added cppcheck --enable-portability, fixed UBs
Fixed reported UBs involving (void *) ptr arithmeticpull/380/head
parent
dcb82b6545
commit
c3c6d21675
5
Makefile
5
Makefile
|
@ -329,7 +329,10 @@ line-count-x86:
|
|||
cloc --force-lang-def cloc_lang_def.txt src/boot_x86_fsp.c src/boot_x86_fsp_payload.c src/boot_x86_fsp_start.S src/image.c src/keystore.c src/libwolfboot.c src/loader.c src/string.c src/update_disk.c src/x86/ahci.c src/x86/ata.c src/x86/common.c src/x86/gpt.c src/x86/hob.c src/pci.c src/x86/tgl_fsp.c hal/x86_fsp_tgl.c hal/x86_uart.c
|
||||
|
||||
cppcheck:
|
||||
cppcheck -f --enable=warning --suppress="ctunullpointer" --suppress="nullPointer" --suppress="objectIndex" --suppress="comparePointers" --error-exitcode=89 --std=c89 src/*.c hal/*.c hal/spi/*.c hal/uart/*.c
|
||||
cppcheck -f --enable=warning --enable=portability \
|
||||
--suppress="ctunullpointer" --suppress="nullPointer" \
|
||||
--suppress="objectIndex" --suppress="comparePointers" \
|
||||
--error-exitcode=89 --std=c89 src/*.c hal/*.c hal/spi/*.c hal/uart/*.c
|
||||
|
||||
%.o:%.c
|
||||
@echo "\t[CC-$(ARCH)] $@"
|
||||
|
|
|
@ -1238,7 +1238,7 @@ struct qe_firmware {
|
|||
static void qe_upload_microcode(const struct qe_firmware *firmware,
|
||||
const struct qe_microcode *ucode)
|
||||
{
|
||||
const uint32_t *code = (void*)firmware + ucode->code_offset;
|
||||
const uint32_t *code = (uint32_t*)((uint8_t *)firmware + ucode->code_offset);
|
||||
unsigned int i;
|
||||
|
||||
wolfBoot_printf("QE: uploading '%s' version %u.%u.%u\n",
|
||||
|
|
|
@ -1124,7 +1124,7 @@ struct qe_firmware {
|
|||
static void qe_upload_microcode(const struct qe_firmware *firmware,
|
||||
const struct qe_microcode *ucode)
|
||||
{
|
||||
const uint32_t *code = (void*)firmware + ucode->code_offset;
|
||||
const uint32_t *code = (uint32_t*)((uint8_t *)firmware + ucode->code_offset);
|
||||
unsigned int i;
|
||||
|
||||
wolfBoot_printf("QE: uploading '%s' version %u.%u.%u\n",
|
||||
|
|
|
@ -200,7 +200,7 @@ static int find_epc(void *base, struct entry_point_command **entry)
|
|||
*entry = NULL;
|
||||
|
||||
mh = (struct mach_header_64*)base;
|
||||
lc = (struct load_command*)(base + sizeof(struct mach_header_64));
|
||||
lc = (struct load_command*)((uint8_t *)base + sizeof(struct mach_header_64));
|
||||
for (i=0; i<(int)mh->ncmds; i++) {
|
||||
if (lc->cmd == LC_MAIN) { /* 0x80000028 */
|
||||
*entry = (struct entry_point_command *)lc;
|
||||
|
@ -250,7 +250,7 @@ void do_boot(const uint32_t *app_offset)
|
|||
/* restore mh_bundle type to allow hash to remain valid */
|
||||
app_buf[3] = typeVal;
|
||||
|
||||
main = (main_entry)(void*)(pSymbolAddress + epc->entryoff);
|
||||
main = (main_entry)((uint8_t*)pSymbolAddress + epc->entryoff);
|
||||
main(main_argc, main_argv, NULL, NULL);
|
||||
#else
|
||||
char *envp[1] = {NULL};
|
||||
|
|
|
@ -444,7 +444,7 @@ int spi_flash_write(uint32_t address, const void *data, int len)
|
|||
addr, QSPI_ADDR_SZ, QSPI_DATA_MODE_SPI, /* Address */
|
||||
0, 0, QSPI_DATA_MODE_NONE, /* Alternate Bytes */
|
||||
0, /* Dummy */
|
||||
(uint8_t*)(data + (page * FLASH_PAGE_SIZE)),
|
||||
((uint8_t*)data + (page * FLASH_PAGE_SIZE)),
|
||||
xferSz, QSPI_DATA_MODE /* Data */
|
||||
);
|
||||
#ifdef DEBUG_QSPI
|
||||
|
|
|
@ -168,7 +168,7 @@ void RAMFUNCTION wolfBoot_start(void)
|
|||
load_off = 0;
|
||||
do {
|
||||
ret = disk_read(BOOT_DISK, cur_part, load_off, 512,
|
||||
(void *)load_address + load_off);
|
||||
(uint8_t *)load_address + load_off);
|
||||
if (ret < 0)
|
||||
break;
|
||||
load_off += ret;
|
||||
|
|
Loading…
Reference in New Issue