fix bug that may cause memory leaks.
@@ -498,6 +498,12 @@ static struct netdev *a9g_netdev_add(const char *netdev_name)
RT_ASSERT(netdev_name);
+ netdev = netdev_get_by_name(netdev_name);
+ if (netdev != RT_NULL)
+ {
+ return (netdev);
+ }
+
netdev = (struct netdev *) rt_calloc(1, sizeof(struct netdev));
if (netdev == RT_NULL)
{
@@ -592,6 +592,12 @@ static struct netdev *air720_netdev_add(const char *netdev_name)
netdev = (struct netdev *)rt_calloc(1, sizeof(struct netdev));
@@ -514,6 +514,12 @@ static struct netdev *bc28_netdev_add(const char *netdev_name)
#define HWADDR_LEN 8
struct netdev *netdev = RT_NULL;
@@ -648,6 +648,12 @@ static struct netdev *ec20_netdev_add(const char *netdev_name)
@@ -635,7 +635,6 @@ static struct netdev *ec200x_netdev_add(const char *netdev_name)
netdev = netdev_get_by_name(netdev_name);
-
if(netdev != RT_NULL)
return netdev;
@@ -561,6 +561,12 @@ static struct netdev *esp32_netdev_add(const char *netdev_name)
@@ -562,6 +562,12 @@ static struct netdev *esp8266_netdev_add(const char *netdev_name)
@@ -498,6 +498,12 @@ static struct netdev *m26_netdev_add(const char *netdev_name)
@@ -504,6 +504,12 @@ static struct netdev *m5311_netdev_add(const char *netdev_name)
@@ -508,6 +508,12 @@ static struct netdev *m6315_netdev_add(const char *netdev_name)
@@ -390,6 +390,12 @@ static struct netdev *mw31_netdev_add(const char *netdev_name)
@@ -493,6 +493,12 @@ static struct netdev *n21_netdev_add(const char *netdev_name)
@@ -567,6 +567,12 @@ static struct netdev *n58_netdev_add(const char *netdev_name)
@@ -48,6 +48,12 @@ static struct netdev *rw007_netdev_add(const char *netdev_name)
@@ -436,6 +436,12 @@ static struct netdev *sim76xx_netdev_add(const char *netdev_name)
@@ -570,6 +570,12 @@ static struct netdev *sim800c_netdev_add(const char *netdev_name)
@@ -569,6 +569,12 @@ static struct netdev *w60x_netdev_add(const char *netdev_name)