isdnloop: Validate NUL-terminated strings from user.
Return -EINVAL unless all of user-given strings are correctly NUL-terminated. Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
79eb9d28c9
Коммит
77bc6bed71
|
@ -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:
|
||||
|
|
Загрузка…
Ссылка в новой задаче