|
@@ -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:
|