|
@@ -122,8 +122,12 @@ static int x25_asy_change_mtu(struct net_device *dev, int newmtu)
|
|
{
|
|
{
|
|
struct x25_asy *sl = netdev_priv(dev);
|
|
struct x25_asy *sl = netdev_priv(dev);
|
|
unsigned char *xbuff, *rbuff;
|
|
unsigned char *xbuff, *rbuff;
|
|
- int len = 2 * newmtu;
|
|
|
|
|
|
+ int len;
|
|
|
|
|
|
|
|
+ if (newmtu > 65534)
|
|
|
|
+ return -EINVAL;
|
|
|
|
+
|
|
|
|
+ len = 2 * newmtu;
|
|
xbuff = kmalloc(len + 4, GFP_ATOMIC);
|
|
xbuff = kmalloc(len + 4, GFP_ATOMIC);
|
|
rbuff = kmalloc(len + 4, GFP_ATOMIC);
|
|
rbuff = kmalloc(len + 4, GFP_ATOMIC);
|
|
|
|
|