diff options
author | Jeff Raubitschek <jhr@google.com> | 2005-10-04 16:21:19 +0200 |
---|---|---|
committer | Jeff Garzik <jgarzik@pobox.com> | 2005-10-04 16:21:19 +0200 |
commit | 54dac83c426a1a03bd139c5ac7e938890bd2693e (patch) | |
tree | e2bc11da1f3cdb99bbe13d5452928b8470604314 /drivers/scsi | |
parent | Merge /spare/repo/linux-2.6/ (diff) | |
download | linux-54dac83c426a1a03bd139c5ac7e938890bd2693e.tar.xz linux-54dac83c426a1a03bd139c5ac7e938890bd2693e.zip |
[libata passthru] fix leak on error
Diffstat (limited to 'drivers/scsi')
-rw-r--r-- | drivers/scsi/libata-scsi.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/scsi/libata-scsi.c b/drivers/scsi/libata-scsi.c index 98057563a3cc..75cb685e320b 100644 --- a/drivers/scsi/libata-scsi.c +++ b/drivers/scsi/libata-scsi.c @@ -116,8 +116,10 @@ int ata_cmd_ioctl(struct scsi_device *scsidev, void __user *arg) if (args[3]) { argsize = SECTOR_SIZE * args[3]; argbuf = kmalloc(argsize, GFP_KERNEL); - if (argbuf == NULL) - return -ENOMEM; + if (argbuf == NULL) { + rc = -ENOMEM; + goto error; + } scsi_cmd[1] = (4 << 1); /* PIO Data-in */ scsi_cmd[2] = 0x0e; /* no off.line or cc, read from dev, |