summaryrefslogtreecommitdiff
path: root/drivers/scsi/scsi_scan.c
diff options
context:
space:
mode:
authorDave Jones <davej@redhat.com>2006-03-09 10:21:27 -0500
committerJames Bottomley <jejb@mulgrave.il.steeleye.com>2006-03-12 09:25:40 -0600
commit93f56089898a1b27fc0c89b5c1c748291353f679 (patch)
tree4c1280939653d737d3e79d65fd58c3301ec6d8bf /drivers/scsi/scsi_scan.c
parenta0b6b6e5308d6ef70febfc3cfd5488717809b3e4 (diff)
downloadlinux-next-93f56089898a1b27fc0c89b5c1c748291353f679.tar.gz
[SCSI] fix two leaks in scsi_alloc_sdev failure paths
If the scsi_alloc_queue or the slave_alloc calls in scsi_alloc_device fail, we forget to release the locally allocated sdev on the failure path. Coverity #609 Signed-off-by: Dave Jones <davej@redhat.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'drivers/scsi/scsi_scan.c')
-rw-r--r--drivers/scsi/scsi_scan.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/scsi/scsi_scan.c b/drivers/scsi/scsi_scan.c
index be14f9d82fde..5d4ca87af3df 100644
--- a/drivers/scsi/scsi_scan.c
+++ b/drivers/scsi/scsi_scan.c
@@ -251,6 +251,7 @@ static struct scsi_device *scsi_alloc_sdev(struct scsi_target *starget,
/* release fn is set up in scsi_sysfs_device_initialise, so
* have to free and put manually here */
put_device(&starget->dev);
+ kfree(sdev);
goto out;
}