[PATCH 1/1] Staging: lirc, fix NULL dereference
Jiri Slaby
jslaby at suse.cz
Sat Sep 4 12:32:25 UTC 2010
When 'context' allocation fails in imon_probe, we jump to unlock
context->ctx_lock. This is wrong as context is NULL and the lock is
not locked.
Fix the labels.
Signed-off-by: Jiri Slaby <jslaby at suse.cz>
Cc: Jarod Wilson <jarod at redhat.com>
Cc: Mauro Carvalho Chehab <mchehab at redhat.com>
---
drivers/staging/lirc/lirc_imon.c | 5 +++--
1 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/drivers/staging/lirc/lirc_imon.c b/drivers/staging/lirc/lirc_imon.c
index 6649325..5f77667 100644
--- a/drivers/staging/lirc/lirc_imon.c
+++ b/drivers/staging/lirc/lirc_imon.c
@@ -876,7 +876,7 @@ static int imon_probe(struct usb_interface *interface,
if (lirc_minor < 0) {
err("%s: lirc_register_driver failed", __func__);
alloc_status = 7;
- goto alloc_status_switch;
+ goto unlock;
} else
dev_info(dev, "Registered iMON driver "
"(lirc minor: %d)\n", lirc_minor);
@@ -932,8 +932,9 @@ static int imon_probe(struct usb_interface *interface,
"usb<%d:%d> initialized\n", vendor, product, ifnum,
usbdev->bus->busnum, usbdev->devnum);
-alloc_status_switch:
+unlock:
mutex_unlock(&context->ctx_lock);
+alloc_status_switch:
switch (alloc_status) {
case 7:
--
1.7.2.2
More information about the devel
mailing list