From da09f4dcc4662de5d3303e2641c1f148f3d8cb27 Mon Sep 17 00:00:00 2001 From: Olaoluwa Osuntokun Date: Wed, 8 Mar 2017 14:21:50 -0800 Subject: [PATCH] lnwire: modify newAlias to truncate alias strings if too long --- lnwire/node_announcement.go | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/lnwire/node_announcement.go b/lnwire/node_announcement.go index e50948f0..3b3393c8 100644 --- a/lnwire/node_announcement.go +++ b/lnwire/node_announcement.go @@ -39,12 +39,17 @@ func NewAlias(s string) (Alias, error) { func newAlias(data []byte) (Alias, error) { var a [32]byte - aliasEnd := len(data) - for data[aliasEnd-1] == 0 && aliasEnd > 0 { + rawAlias := data + if len(data) > aliasSpecLen { + rawAlias = data[:aliasSpecLen] + } + + aliasEnd := len(rawAlias) + for rawAlias[aliasEnd-1] == 0 && aliasEnd > 0 { aliasEnd-- } - copy(a[:aliasEnd], data[:aliasEnd]) + copy(a[:aliasEnd], rawAlias[:aliasEnd]) return Alias{ data: a, @@ -94,6 +99,8 @@ type NodeAnnouncement struct { // maps and graphs RGBColor RGB + // TODO(roasbeef): add the global features here + // pad is used to reserve to additional bytes for future // usage. pad uint16