scsi: dpt_i2o: double free on error path
authorDan Carpenter <dan.carpenter@oracle.com>
Wed, 30 Nov 2016 19:36:48 +0000 (22:36 +0300)
committerMartin K. Petersen <martin.petersen@oracle.com>
Thu, 1 Dec 2016 00:53:58 +0000 (19:53 -0500)
We recently introduced a kfree() in the caller for this function.
That's where, logically, you would think the kfree() should be.
Unfortunately the code was just ugly and not buggy so the static checker
warning was a false postive and introduced a double free.

I've removed the old kfree() and left the new one.

Fixes: 021e2927586d ("scsi: dpt_i2o: Add a missing call to kfree")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Reviewed-by: Quentin Lambert <lambert.quentin@gmail.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/dpt_i2o.c

index f88b3d216a88bb15b5c556f0e205226df592f18d..27c0dce22e72a1188dcec434a12bee7d0a72ff33 100644 (file)
@@ -651,7 +651,6 @@ static u32 adpt_ioctl_to_context(adpt_hba * pHba, void *reply)
        }
        spin_unlock_irqrestore(pHba->host->host_lock, flags);
        if (i >= nr) {
-               kfree (reply);
                printk(KERN_WARNING"%s: Too many outstanding "
                                "ioctl commands\n", pHba->name);
                return (u32)-1;