drivers/scsi/dpt_i2o.c: fix a NULL pointer dereference
PATCH 1/1 drivers/scsi/dpt_i2o.c: fix a NULL pointer dereference
The Coverity checker spotted this obvious NULL pointer dereference.
Signed-off-by Adrian Bunk <[email protected]>
Acked-by Mark Salyzyn <[email protected]>
---
This patch was already sent on:
- 21 Nov 2005
drivers/scsi/dpt_i2o.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-)
drivers/scsi/dpt_i2o.c renamed from drivers/scsi/dpt_i2o.c.old +5 -4
@@ -816,7 +816,7 @@static void adpt_i2o_sys_shutdown (void ) {adpt_hba *pHba, *pNext; -struct adpt_i2o_post_wait_data *p1, *p2; +struct adpt_i2o_post_wait_data *p1, *old;printk (KERN_INFO "Shutting down Adaptec I2O controllers.\n" );printk (KERN_INFO " This could take a few minutes if there are many devices attached\n" );
@@ -830,13 +830,14 @@ }/* Remove any timedout entries from the wait queue. */ - p2 =NULL ;// spin_lock_irqsave(&adpt_post_wait_lock, flags); /* Nothing should be outstanding at this point so just * free them */ -for (p1 = adpt_post_wait_queue; p1; p2 = p1, p1 = p2->next) { -kfree (p1); +for (p1 = adpt_post_wait_queue; p1;) { + old = p1; + p1 = p1->next; +kfree (old); }// spin_unlock_irqrestore(&adpt_post_wait_lock, flags); adpt_post_wait_queue =NULL ;