X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=drivers%2Fnet%2Feql.c;h=a53574b0e301225e6ab4691f5e9367368c56ce9c;hb=9bf4aaab3e101692164d49b7ca357651eb691cb6;hp=816534011d8012b4af8fee80750fe8f5b1585983;hpb=db216c3d5e4c040e557a50f8f5d35d5c415e8c1c;p=linux-2.6.git diff --git a/drivers/net/eql.c b/drivers/net/eql.c index 816534011..a53574b0e 100644 --- a/drivers/net/eql.c +++ b/drivers/net/eql.c @@ -389,7 +389,7 @@ static inline int eql_is_full(slave_queue_t *queue) static int __eql_insert_slave(slave_queue_t *queue, slave_t *slave) { if (!eql_is_full(queue)) { - slave_t *duplicate_slave = 0; + slave_t *duplicate_slave = NULL; duplicate_slave = __eql_find_slave_dev(queue, slave->dev); if (duplicate_slave != 0) @@ -495,8 +495,12 @@ static int eql_g_slave_cfg(struct net_device *dev, slave_config_t __user *scp) return -EFAULT; slave_dev = dev_get_by_name(sc.slave_name); + if (!slave_dev) + return -ENODEV; ret = -EINVAL; + if (!slave_dev) + return ret; spin_lock_bh(&eql->queue.lock); if (eql_is_slave(slave_dev)) { @@ -527,11 +531,15 @@ static int eql_s_slave_cfg(struct net_device *dev, slave_config_t __user *scp) if (copy_from_user(&sc, scp, sizeof (slave_config_t))) return -EFAULT; - eql = dev->priv; slave_dev = dev_get_by_name(sc.slave_name); + if (!slave_dev) + return -ENODEV; ret = -EINVAL; + if (!slave_dev) + return ret; + eql = dev->priv; spin_lock_bh(&eql->queue.lock); if (eql_is_slave(slave_dev)) { slave = __eql_find_slave_dev(&eql->queue, slave_dev);