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: Colin Ian King <colin.king@canonical.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
parent
10ee1f2206
commit
e73c864ba3
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue