diff --git a/discovery/gossiper.go b/discovery/gossiper.go index a7b70ba5..dd94f58a 100644 --- a/discovery/gossiper.go +++ b/discovery/gossiper.go @@ -796,7 +796,13 @@ func (d *AuthenticatedGossiper) resendAnnounceSignatures() error { if err != nil { return err } - t := msgTuple{peer, msg, k} + + // Make a copy of the database key corresponding to + // these AnnounceSignatures. + dbKey := make([]byte, len(k)) + copy(dbKey, k) + + t := msgTuple{peer, msg, dbKey} // Add the message to the slice, such that we can // resend it after the database transaction is over.