summaryrefslogtreecommitdiffstats
path: root/drivers/scsi
diff options
context:
space:
mode:
authorDave Jones <davej@redhat.com>2006-03-09 16:21:27 +0100
committerJames Bottomley <jejb@mulgrave.il.steeleye.com>2006-03-12 16:25:40 +0100
commit93f56089898a1b27fc0c89b5c1c748291353f679 (patch)
tree4c1280939653d737d3e79d65fd58c3301ec6d8bf /drivers/scsi
parent[SCSI] Make sgiwd93_detect and sgiwd93_detect static. (diff)
downloadlinux-93f56089898a1b27fc0c89b5c1c748291353f679.tar.xz
linux-93f56089898a1b27fc0c89b5c1c748291353f679.zip
[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')
-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;
}