X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=block%2Fscsi_ioctl.c;h=26487972ac549ba899a723201125e5b3c59934ff;hb=HEAD;hp=625e3e471d65f55495bd639b0418e8ad85d53d62;hpb=825e587af2e90e9b953849f3347a01d8f383d577;p=~andy%2Flinux diff --git a/block/scsi_ioctl.c b/block/scsi_ioctl.c index 625e3e471d6..26487972ac5 100644 --- a/block/scsi_ioctl.c +++ b/block/scsi_ioctl.c @@ -323,12 +323,14 @@ static int sg_io(struct request_queue *q, struct gendisk *bd_disk, if (hdr->iovec_count) { size_t iov_data_len; - struct iovec *iov; + struct iovec *iov = NULL; ret = rw_copy_check_uvector(-1, hdr->dxferp, hdr->iovec_count, 0, NULL, &iov); - if (ret < 0) + if (ret < 0) { + kfree(iov); goto out; + } iov_data_len = ret; ret = 0;