提交 58c583b6 编写于 作者: M Michal Simek 提交者: Wolfgang Denk

net: Check network device driver name

If name is longer than allocated space NAMESIZE
mac address is rewritten which show error
message like:

Error message:
Warning: Xlltemac.87000000 MAC addresses don't match:
Address in SROM is         30:00:00:00:00:00
Address in environment is  00:0a:35:00:6a:04

NAMESIZE contains Driver name + zero terminated character.
Signed-off-by: NMichal Simek <monstr@monstr.eu>
上级 03bf22f5
......@@ -224,6 +224,14 @@ int eth_write_hwaddr(struct eth_device *dev, const char *base_name,
int eth_register(struct eth_device *dev)
{
struct eth_device *d;
size_t len = strlen(dev->name);
if (len >= NAMESIZE) {
printf("Network driver name is too long (%zu >= %zu): %s\n",
len, NAMESIZE, dev->name);
return -1;
}
if (!eth_devices) {
eth_current = eth_devices = dev;
eth_current_changed();
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册