Bläddra i källkod

cppcheck cleanup: fix nullPointer errors

There are a number of places where U-Boot intentionally and legally
accesses physical address 0x0000, for example when installing
exception vectors on systems where these are located in low memory.

Add "cppcheck-suppress nullPointer" comments to silence cppcheck
where this is intentional and legal.

Signed-off-by: Wolfgang Denk <wd@denx.de>
Wolfgang Denk 9 år sedan
förälder
incheckning
0060517ae0

+ 2 - 0
arch/arm/cpu/arm926ejs/mxs/mxs.c

@@ -83,7 +83,9 @@ void mx28_fixup_vt(uint32_t start_addr)
 	int i;
 
 	for (i = 0; i < 8; i++) {
+		/* cppcheck-suppress nullPointer */
 		vt[i] = ldr_pc;
+		/* cppcheck-suppress nullPointer */
 		vt[i + 8] = start_addr + (4 * i);
 	}
 }

+ 2 - 0
arch/arm/cpu/arm926ejs/mxs/spl_boot.c

@@ -118,6 +118,8 @@ static void mxs_spl_fixup_vectors(void)
 	 * fine.
 	 */
 	extern uint32_t _start;
+
+	/* cppcheck-suppress nullPointer */
 	memcpy(0x0, &_start, 0x60);
 }
 

+ 1 - 0
arch/arm/cpu/armv7/zynq/ddrc.c

@@ -40,6 +40,7 @@ void zynq_ddrc_init(void)
 		 * first stage bootloader. To get ECC to work all memory has
 		 * been initialized by writing any value.
 		 */
+		/* cppcheck-suppress nullPointer */
 		memset((void *)0, 0, 1 * 1024 * 1024);
 	} else {
 		puts("ECC disabled ");

+ 1 - 0
arch/blackfin/cpu/initcode.c

@@ -955,6 +955,7 @@ check_hibernation(ADI_BOOT_DATA *bs, u16 vr_ctl, bool put_into_srfs)
 		uint32_t *hibernate_magic = 0;
 
 		SSYNC();
+		/* cppcheck-suppress nullPointer */
 		if (hibernate_magic[0] == 0xDEADBEEF) {
 			serial_putc('c');
 			bfin_write_EVT15(hibernate_magic[1]);

+ 4 - 1
arch/powerpc/cpu/mpc85xx/cpu_init_early.c

@@ -161,9 +161,12 @@ void cpu_init_early_f(void *fdt)
 	setup_ifc_sram = (void *)SRAM_BASE_ADDR;
 	dst = (u32 *) SRAM_BASE_ADDR;
 	src = (u32 *) setup_ifc;
-	for (i = 0; i < 1024; i++)
+	for (i = 0; i < 1024; i++) {
+		/* cppcheck-suppress nullPointer */
 		*dst++ = *src++;
+	}
 
+	/* cppcheck-suppress nullPointer */
 	setup_ifc_sram();
 
 	/* CLEANUP */

+ 1 - 0
arch/sh/lib/zimageboot.c

@@ -45,6 +45,7 @@ int do_sh_zimageboot (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 	bootargs = getenv("bootargs");
 
 	/* Clear zero page */
+	/* cppcheck-suppress nullPointer */
 	memset(param, 0, 0x1000);
 
 	/* Set commandline */

+ 3 - 1
board/esd/pci405/cmd_pci405.c

@@ -23,7 +23,7 @@
  */
 int do_loadpci(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
-	unsigned int *ptr = 0;
+	unsigned int *ptr;
 	int count = 0;
 	int count2 = 0;
 	int i;
@@ -35,12 +35,14 @@ int do_loadpci(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 	 * Mark sync address
 	 */
 	ptr = 0;
+	/* cppcheck-suppress nullPointer */
 	*ptr = 0xffffffff;
 	puts("\nWaiting for image from pci host -");
 
 	/*
 	 * Wait for host to write the start address
 	 */
+	/* cppcheck-suppress nullPointer */
 	while (*ptr == 0xffffffff) {
 		count++;
 		if (!(count % 100)) {

+ 1 - 0
board/keymile/common/common.c

@@ -360,6 +360,7 @@ static int do_checktestboot(cmd_tbl_t *cmdtp, int flag, int argc,
 	testboot = (testpin != 0) && (s);
 	if (verbose) {
 		printf("testpin   = %d\n", testpin);
+		/* cppcheck-suppress nullPointer */
 		printf("test_bank = %s\n", s ? s : "not set");
 		printf("boot test app : %s\n", (testboot) ? "yes" : "no");
 	}

+ 2 - 0
board/scb9328/flash.c

@@ -72,8 +72,10 @@ static FLASH_BUS_RET flash_status_reg (void)
 
 	FLASH_BUS *addr = (FLASH_BUS *) 0;
 
+	/* cppcheck-suppress nullPointer */
 	*addr = FLASH_CMD (CFI_INTEL_CMD_READ_STATUS_REGISTER);
 
+	/* cppcheck-suppress nullPointer */
 	return *addr;
 }