From 6d84e66e9ab7a93be9e65b589a0becbbdc205d8b Mon Sep 17 00:00:00 2001 From: Julia Lawall Date: Thu, 25 Dec 2008 21:10:30 +0100 Subject: [PATCH] --- yaml --- r: 141352 b: refs/heads/master c: b171041be02f171cd06712746b97a996f883ec10 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/staging/comedi/drivers/usbdux.c | 6 +++++- trunk/drivers/staging/comedi/drivers/usbduxfast.c | 6 +++++- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 030b362f4d3e..d3c7d837f6b9 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: fc0cb7d166f3c8a318d8b0c9580cfe12fed9234c +refs/heads/master: b171041be02f171cd06712746b97a996f883ec10 diff --git a/trunk/drivers/staging/comedi/drivers/usbdux.c b/trunk/drivers/staging/comedi/drivers/usbdux.c index 35138257be7f..8aa10c8df678 100644 --- a/trunk/drivers/staging/comedi/drivers/usbdux.c +++ b/trunk/drivers/staging/comedi/drivers/usbdux.c @@ -2298,7 +2298,7 @@ static int read_firmware(struct usbduxsub *usbduxsub, void *firmwarePtr, struct device *dev = &usbduxsub->interface->dev; int i = 0; unsigned char *fp = (char *)firmwarePtr; - unsigned char *firmwareBinary = NULL; + unsigned char *firmwareBinary; int res = 0; int maxAddr = 0; @@ -2322,6 +2322,7 @@ static int read_firmware(struct usbduxsub *usbduxsub, void *firmwarePtr, j++; if (j >= sizeof(buf)) { dev_err(dev, "comedi_: bogus firmware file!\n"); + kfree(firmwareBinary); return -1; } } @@ -2344,6 +2345,7 @@ static int read_firmware(struct usbduxsub *usbduxsub, void *firmwarePtr, if (buf[0] != ':') { dev_err(dev, "comedi_: upload: not an ihex record: %s", buf); + kfree(firmwareBinary); return -EFAULT; } @@ -2360,6 +2362,7 @@ static int read_firmware(struct usbduxsub *usbduxsub, void *firmwarePtr, if (maxAddr >= FIRMWARE_MAX_LEN) { dev_err(dev, "comedi_: firmware upload goes " "beyond FX2 RAM boundaries.\n"); + kfree(firmwareBinary); return -EFAULT; } /* dev_dbg(dev, "comedi_: off=%x, len=%x:\n", off, len); */ @@ -2375,6 +2378,7 @@ static int read_firmware(struct usbduxsub *usbduxsub, void *firmwarePtr, if (type != 0) { dev_err(dev, "comedi_: unsupported record type: %u\n", type); + kfree(firmwareBinary); return -EFAULT; } diff --git a/trunk/drivers/staging/comedi/drivers/usbduxfast.c b/trunk/drivers/staging/comedi/drivers/usbduxfast.c index 3a00ff0cfc5a..3ad3a08c3c20 100644 --- a/trunk/drivers/staging/comedi/drivers/usbduxfast.c +++ b/trunk/drivers/staging/comedi/drivers/usbduxfast.c @@ -1298,7 +1298,7 @@ static int read_firmware(usbduxfastsub_t * usbduxfastsub, void *firmwarePtr, { int i = 0; unsigned char *fp = (char *)firmwarePtr; - unsigned char *firmwareBinary = NULL; + unsigned char *firmwareBinary; int res = 0; int maxAddr = 0; @@ -1322,6 +1322,7 @@ static int read_firmware(usbduxfastsub_t * usbduxfastsub, void *firmwarePtr, j++; if (j >= sizeof(buf)) { printk("comedi_: usbduxfast: bogus firmware file!\n"); + kfree(firmwareBinary); return -1; } } @@ -1340,6 +1341,7 @@ static int read_firmware(usbduxfastsub_t * usbduxfastsub, void *firmwarePtr, if (buf[0] != ':') { printk("comedi_: usbduxfast: upload: not an ihex record: %s", buf); + kfree(firmwareBinary); return -EFAULT; } @@ -1355,6 +1357,7 @@ static int read_firmware(usbduxfastsub_t * usbduxfastsub, void *firmwarePtr, if (maxAddr >= FIRMWARE_MAX_LEN) { printk("comedi_: usbduxfast: firmware upload goes beyond FX2 RAM boundaries."); + kfree(firmwareBinary); return -EFAULT; } //printk("comedi_: usbduxfast: off=%x, len=%x:",off,len); @@ -1369,6 +1372,7 @@ static int read_firmware(usbduxfastsub_t * usbduxfastsub, void *firmwarePtr, if (type != 0) { printk("comedi_: usbduxfast: unsupported record type: %u\n", type); + kfree(firmwareBinary); return -EFAULT; }