diff options
| author | Julia Lawall <julia@diku.dk> | 2010-12-29 15:57:54 +0100 | 
|---|---|---|
| committer | James Bottomley <James.Bottomley@suse.de> | 2010-12-31 09:50:09 -0600 | 
| commit | 5c10007560589a2335a77cbc92347b1474518296 (patch) | |
| tree | 662d3e17401bd678a89b82cf635b2719de245917 /drivers/scsi/gdth.c | |
| parent | 8f4bfadd200477acb6dcf41a45919dd37d01a6db (diff) | |
| download | linux-5c10007560589a2335a77cbc92347b1474518296.tar.bz2 | |
[SCSI] gdth: Add missing call to gdth_ioctl_free
Add missing call to gdth_ioctl_free before aborting.
The semantic match that finds this problem is as follows:
(http://coccinelle.lip6.fr/)
// <smpl>
@@
expression buf,ha,len,addr,E;
@@
buf = gdth_ioctl_alloc(ha, len, FALSE, &addr)
... when != false buf != NULL
    when != true buf == NULL
    when != \(E = buf\|buf = E\)
    when != gdth_ioctl_free(ha, len, buf, addr)
*return ...;
// </smpl>
Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'drivers/scsi/gdth.c')
| -rw-r--r-- | drivers/scsi/gdth.c | 4 | 
1 files changed, 3 insertions, 1 deletions
| diff --git a/drivers/scsi/gdth.c b/drivers/scsi/gdth.c index 76365700e2d5..3242bcabad97 100644 --- a/drivers/scsi/gdth.c +++ b/drivers/scsi/gdth.c @@ -4273,8 +4273,10 @@ static int ioc_general(void __user *arg, char *cmnd)      }      rval = __gdth_execute(ha->sdev, &gen.command, cmnd, gen.timeout, &gen.info); -    if (rval < 0) +    if (rval < 0) { +	gdth_ioctl_free(ha, gen.data_len+gen.sense_len, buf, paddr);          return rval; +    }      gen.status = rval;      if (copy_to_user(arg + sizeof(gdth_ioctl_general), buf,  |