Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e73c864b authored by Colin Ian King's avatar Colin Ian King Committed by Martin K. Petersen
Browse files

scsi: aic7xxx: aic79xx: fix potential null pointer dereference on ahd



If AHD_DEBUG is enabled and ahd_platform_alloc fails then ahd is set to
null and the debug printk dereferences ahd when passing it to ahd_name.
Fix this by moving the debug printk to before the call to
ahd_platform_alloc where ahd is not null at that point.

Detected by CoverityScan, CID#100296 ("Explicit null dereference")

Signed-off-by: default avatarColin Ian King <colin.king@canonical.com>
Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
parent 10ee1f22
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -6112,10 +6112,6 @@ ahd_alloc(void *platform_arg, char *name)
	ahd->int_coalescing_stop_threshold =
	    AHD_INT_COALESCING_STOP_THRESHOLD_DEFAULT;

	if (ahd_platform_alloc(ahd, platform_arg) != 0) {
		ahd_free(ahd);
		ahd = NULL;
	}
#ifdef AHD_DEBUG
	if ((ahd_debug & AHD_SHOW_MEMORY) != 0) {
		printk("%s: scb size = 0x%x, hscb size = 0x%x\n",
@@ -6123,6 +6119,10 @@ ahd_alloc(void *platform_arg, char *name)
		       (u_int)sizeof(struct hardware_scb));
	}
#endif
	if (ahd_platform_alloc(ahd, platform_arg) != 0) {
		ahd_free(ahd);
		ahd = NULL;
	}
	return (ahd);
}