projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
79eb9d2
)
isdnloop: Validate NUL-terminated strings from user.
author
YOSHIFUJI Hideaki / 吉藤英明
<
[email protected]
>
Wed, 2 Apr 2014 03:48:42 +0000
(12:48 +0900)
committer
David S. Miller
<
[email protected]
>
Thu, 3 Apr 2014 15:26:24 +0000
(11:26 -0400)
Return -EINVAL unless all of user-given strings are correctly
NUL-terminated.
Signed-off-by: YOSHIFUJI Hideaki <
[email protected]
>
Signed-off-by: David S. Miller <
[email protected]
>
drivers/isdn/isdnloop/isdnloop.c
patch
|
blob
|
history
diff --git
a/drivers/isdn/isdnloop/isdnloop.c
b/drivers/isdn/isdnloop/isdnloop.c
index 02125e6a91093e22bda1849bad209f6d3ebe8962..e1f8748ff25dc6716301c7958d935419700e71fc 100644
(file)
--- a/
drivers/isdn/isdnloop/isdnloop.c
+++ b/
drivers/isdn/isdnloop/isdnloop.c
@@
-1070,6
+1070,12
@@
isdnloop_start(isdnloop_card *card, isdnloop_sdef *sdefp)
return -EBUSY;
if (copy_from_user((char *) &sdef, (char *) sdefp, sizeof(sdef)))
return -EFAULT;
+
+ for (i = 0; i < 3; i++) {
+ if (!memchr(sdef.num[i], 0, sizeof(sdef.num[i])))
+ return -EINVAL;
+ }
+
spin_lock_irqsave(&card->isdnloop_lock, flags);
switch (sdef.ptype) {
case ISDN_PTYPE_EURO: