summaryrefslogtreecommitdiff
path: root/components/net/netdev/src
diff options
context:
space:
mode:
authorBernard Xiong <[email protected]>2021-03-31 14:15:21 +0800
committerGitHub <[email protected]>2021-03-31 14:15:21 +0800
commit259144b2e658d6bdc543afb6b2e88f5461a070b4 (patch)
tree7e4e1a241a70330b4f6a4e78d6549c9e68d4873d /components/net/netdev/src
parent28ec21671cfd8992b3ad2d6ea48989968ad23e7c (diff)
parenta15040d3a9175b13486d756eafe0dd03645368da (diff)
Merge branch 'master' into master
Diffstat (limited to 'components/net/netdev/src')
-rw-r--r--components/net/netdev/src/netdev.c12
-rw-r--r--components/net/netdev/src/netdev_ipaddr.c2
2 files changed, 11 insertions, 3 deletions
diff --git a/components/net/netdev/src/netdev.c b/components/net/netdev/src/netdev.c
index 76a937cc75..3f7aa401c1 100644
--- a/components/net/netdev/src/netdev.c
+++ b/components/net/netdev/src/netdev.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006-2019, RT-Thread Development Team
+ * Copyright (c) 2006-2021, RT-Thread Development Team
*
* SPDX-License-Identifier: Apache-2.0
*
@@ -77,6 +77,14 @@ int netdev_register(struct netdev *netdev, const char *name, void *user_data)
netdev->status_callback = RT_NULL;
netdev->addr_callback = RT_NULL;
+ if(rt_strlen(name) > RT_NAME_MAX)
+ {
+ char netdev_name[RT_NAME_MAX + 1] = {0};
+
+ rt_strncpy(netdev_name, name, RT_NAME_MAX);
+ LOG_E("netdev name[%s] length is so long that have been cut into [%s].", name, netdev_name);
+ }
+
/* fill network interface device */
rt_strncpy(netdev->name, name, RT_NAME_MAX);
netdev->user_data = user_data;
@@ -260,7 +268,7 @@ struct netdev *netdev_get_by_name(const char *name)
for (node = &(netdev_list->list); node; node = rt_slist_next(node))
{
netdev = rt_slist_entry(node, struct netdev, list);
- if (netdev && (rt_strncmp(netdev->name, name, RT_NAME_MAX) == 0))
+ if (netdev && (rt_strncmp(netdev->name, name, rt_strlen(netdev->name) < RT_NAME_MAX ? rt_strlen(netdev->name) : RT_NAME_MAX) == 0))
{
rt_hw_interrupt_enable(level);
return netdev;
diff --git a/components/net/netdev/src/netdev_ipaddr.c b/components/net/netdev/src/netdev_ipaddr.c
index a70a90bb75..9abb41bd14 100644
--- a/components/net/netdev/src/netdev_ipaddr.c
+++ b/components/net/netdev/src/netdev_ipaddr.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006-2018, RT-Thread Development Team
+ * Copyright (c) 2006-2021, RT-Thread Development Team
*
* SPDX-License-Identifier: Apache-2.0
*