summaryrefslogtreecommitdiffstats
path: root/drivers/isdn
diff options
context:
space:
mode:
authorJesper Juhl2007-10-16 10:27:52 +0200
committerLinus Torvalds2007-10-16 18:43:10 +0200
commite8a285b7b10029c3da7e9bbaa1659e7e08178912 (patch)
treea97878e17221c2686e91dd8cfea2b03dbde7d855 /drivers/isdn
parentfix possible NULL deref on low memory condition in capidrv.c::send_message() (diff)
downloadkernel-qcow2-linux-e8a285b7b10029c3da7e9bbaa1659e7e08178912.tar.gz
kernel-qcow2-linux-e8a285b7b10029c3da7e9bbaa1659e7e08178912.tar.xz
kernel-qcow2-linux-e8a285b7b10029c3da7e9bbaa1659e7e08178912.zip
isdn: guard against a potential NULL pointer dereference in old_capi_manufacturer()
In drivers/isdn/capi/kcapi.c::old_capi_manufacturer(), if the call to get_capi_ctr_by_nr(ldef.contr); in line 823 returns NULL, then we'll be dereferencing a NULL pointer in the very next line. (Found by Coverity checker as bug #402) Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com> Acked-by: Karsten Keil <kkeil@suse.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/isdn')
-rw-r--r--drivers/isdn/capi/kcapi.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/isdn/capi/kcapi.c b/drivers/isdn/capi/kcapi.c
index 9f73bc2727c2..f55531869313 100644
--- a/drivers/isdn/capi/kcapi.c
+++ b/drivers/isdn/capi/kcapi.c
@@ -821,6 +821,8 @@ static int old_capi_manufacturer(unsigned int cmd, void __user *data)
return -EFAULT;
}
card = get_capi_ctr_by_nr(ldef.contr);
+ if (!card)
+ return -EINVAL;
card = capi_ctr_get(card);
if (!card)
return -ESRCH;