From e67f06a4ab9d4a659f8bcc2ffe81241b1d3b1191 Mon Sep 17 00:00:00 2001 From: zhengdelun Date: Tue, 23 Feb 2021 10:26:25 +0800 Subject: [PATCH 1/2] Fix GetPropertyRouteData panic Signed-off-by: zhengdelun --- IP4Config.go | 3 +++ IP6Config.go | 3 +++ 2 files changed, 6 insertions(+) diff --git a/IP4Config.go b/IP4Config.go index 242e0f0..5848151 100644 --- a/IP4Config.go +++ b/IP4Config.go @@ -222,6 +222,9 @@ func (c *ip4Config) GetPropertyRouteData() ([]IP4RouteData, error) { } route.Metric = uint8(metric) default: + if route.AdditionalAttributes == nil { + route.AdditionalAttributes = make(map[string]string) + } route.AdditionalAttributes[routeDataAttributeName] = routeDataAttribute.String() } } diff --git a/IP6Config.go b/IP6Config.go index 8f46acd..88a914a 100644 --- a/IP6Config.go +++ b/IP6Config.go @@ -160,6 +160,9 @@ func (c *ip6Config) GetPropertyRouteData() ([]IP6RouteData, error) { } route.Metric = uint8(metric) default: + if route.AdditionalAttributes == nil { + route.AdditionalAttributes = make(map[string]string) + } route.AdditionalAttributes[routeDataAttributeName] = routeDataAttribute.String() } } From 771559372e72ff1259774dc306346937b2e28df6 Mon Sep 17 00:00:00 2001 From: zhengdelun Date: Thu, 25 Feb 2021 10:59:33 +0800 Subject: [PATCH 2/2] Eliminate empty route items Signed-off-by: zhengdelun --- IP4Config.go | 4 ++-- IP6Config.go | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/IP4Config.go b/IP4Config.go index 5848151..fd96569 100644 --- a/IP4Config.go +++ b/IP4Config.go @@ -191,7 +191,7 @@ func (c *ip4Config) GetPropertyRouteData() ([]IP4RouteData, error) { return routes, err } - for _, routeData := range routesData { + for index, routeData := range routesData { route := IP4RouteData{} @@ -229,7 +229,7 @@ func (c *ip4Config) GetPropertyRouteData() ([]IP4RouteData, error) { } } - routes = append(routes, route) + routes[index] = route } return routes, nil } diff --git a/IP6Config.go b/IP6Config.go index 88a914a..548f2ca 100644 --- a/IP6Config.go +++ b/IP6Config.go @@ -129,7 +129,7 @@ func (c *ip6Config) GetPropertyRouteData() ([]IP6RouteData, error) { return routes, err } - for _, routeData := range routesData { + for index, routeData := range routesData { route := IP6RouteData{} @@ -166,8 +166,8 @@ func (c *ip6Config) GetPropertyRouteData() ([]IP6RouteData, error) { route.AdditionalAttributes[routeDataAttributeName] = routeDataAttribute.String() } } - - routes = append(routes, route) + + routes[index] = route } return routes, nil }