From 4fc85c30a950dae196caff14308c7398daabbbf4 Mon Sep 17 00:00:00 2001
From: Daniel Czerwonk <daniel@dan-nrw.de>
Date: Thu, 28 Jun 2018 23:16:14 +0200
Subject: [PATCH] fix for unitialized map and nil pointer

---
 protocols/bgp/server/update_sender.go | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/protocols/bgp/server/update_sender.go b/protocols/bgp/server/update_sender.go
index 078faebf..f61036f2 100644
--- a/protocols/bgp/server/update_sender.go
+++ b/protocols/bgp/server/update_sender.go
@@ -39,6 +39,7 @@ func newUpdateSender(fsm *FSM) *UpdateSender {
 		fsm:       fsm,
 		iBGP:      fsm.peer.localASN == fsm.peer.peerASN,
 		destroyCh: make(chan struct{}),
+		toSend:    make(map[string]*pathPfxs),
 	}
 }
 
@@ -80,7 +81,6 @@ func (u *UpdateSender) sender() {
 	var err error
 	var pathAttrs *packet.PathAttribute
 	var budget int
-	var nlri *packet.NLRI
 
 	for {
 		select {
@@ -102,7 +102,7 @@ func (u *UpdateSender) sender() {
 			updatesPrefixes := make([][]bnet.Prefix, 1)
 			prefixes := make([]bnet.Prefix, 1)
 			for _, pfx := range pathNLRIs.pfxs {
-				budget -= int(packet.BytesInAddr(nlri.Pfxlen)) - 5
+				budget -= int(packet.BytesInAddr(pfx.Pfxlen())) - 5
 				if budget < 0 {
 					updatesPrefixes = append(updatesPrefixes, prefixes)
 					prefixes = make([]bnet.Prefix, 1)
-- 
GitLab