diff options
author | Jesper Juhl <jj@chaosbits.net> | 2012-03-24 17:39:18 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2012-04-10 19:33:27 -0400 |
commit | 4ae2e594b70b04fb90fd5fef96a996f42ecea7d5 (patch) | |
tree | 3617e18f2be20ac4888c8f008c2478a2c7859923 /drivers/staging | |
parent | 96371fc89b7f813a38739946eb7ea7c0a841fd86 (diff) |
[media] staging/media/as102: Don't call release_firmware() on uninitialized variable
If, in drivers/staging/media/as102/as102_fw.c::as102_fw_upload(), the call
cmd_buf = kzalloc(MAX_FW_PKT_SIZE, GFP_KERNEL);
should fail and return NULL so that we jump to the 'error:' label,
then we'll end up calling 'release_firmware(firmware);' with
'firmware' still uninitialized - not good.
The easy fix is to just initialize 'firmware' to NULL when we declare
it, since release_firmware() deals gracefully with being passed NULL
pointers.
Signed-off-by: Jesper Juhl <jj@chaosbits.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/staging')
-rw-r--r-- | drivers/staging/media/as102/as102_fw.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/staging/media/as102/as102_fw.c b/drivers/staging/media/as102/as102_fw.c index 43ebc43e6b9a..1075fb1df0d9 100644 --- a/drivers/staging/media/as102/as102_fw.c +++ b/drivers/staging/media/as102/as102_fw.c | |||
@@ -165,7 +165,7 @@ error: | |||
165 | int as102_fw_upload(struct as10x_bus_adapter_t *bus_adap) | 165 | int as102_fw_upload(struct as10x_bus_adapter_t *bus_adap) |
166 | { | 166 | { |
167 | int errno = -EFAULT; | 167 | int errno = -EFAULT; |
168 | const struct firmware *firmware; | 168 | const struct firmware *firmware = NULL; |
169 | unsigned char *cmd_buf = NULL; | 169 | unsigned char *cmd_buf = NULL; |
170 | char *fw1, *fw2; | 170 | char *fw1, *fw2; |
171 | struct usb_device *dev = bus_adap->usb_dev; | 171 | struct usb_device *dev = bus_adap->usb_dev; |