diff --git a/protocols/bmp/packet/peer_up.go b/protocols/bmp/packet/peer_up.go index 6f173d1e77b81112425663f77047728cfe6576f7..8675fdc92f0f88b4d68941aca28bd510f8add28d 100644 --- a/protocols/bmp/packet/peer_up.go +++ b/protocols/bmp/packet/peer_up.go @@ -71,7 +71,10 @@ func decodePeerUpNotification(buf *bytes.Buffer, ch *CommonHeader) (*PeerUpNotif func getOpenMsg(buf *bytes.Buffer) ([]byte, error) { msg := make([]byte, OpenMsgMinLen) - _, err := buf.Read(msg) + fields := []interface{}{ + &msg, + } + err := decoder.Decode(buf, fields) if err != nil { return nil, fmt.Errorf("Unable to read: %v", err) } @@ -81,7 +84,7 @@ func getOpenMsg(buf *bytes.Buffer) ([]byte, error) { } optParams := make([]byte, msg[OpenMsgMinLen-1]) - fields := []interface{}{ + fields = []interface{}{ &optParams, }