From d6cf91916f40f388fbd3c1acdef194164b3529b4 Mon Sep 17 00:00:00 2001 From: Dustin Stiles Date: Mon, 24 Mar 2025 12:41:56 -0400 Subject: [PATCH] fix(internal/peer): read admins file correctly Previously, the 'keyRaw' slice was being allocated with a length of 0. However, the 'Read()' function will only read up to the slice's length. Together, this means that we always read 0 bytes from the admins file. Now, we can use the 'io.ReadAll()' function to read all of the admins file before parsing. --- internal/peer/peer.go | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/internal/peer/peer.go b/internal/peer/peer.go index b5a379a..62523f9 100644 --- a/internal/peer/peer.go +++ b/internal/peer/peer.go @@ -189,12 +189,12 @@ func (p *Peer) Run(ctx context.Context) error { // loadAdmins ... func (p *Peer) loadAdmins() ([]string, error) { - hasKeyFile, err := p.hasAdminsFile() + hasAdminsFile, err := p.hasAdminsFile() if err != nil { return nil, fmt.Errorf("failed to check for admins file: %w", err) } - if !hasKeyFile { + if !hasAdminsFile { if err := p.createAdminsFile(); err != nil { return nil, fmt.Errorf("failed to create admins file: %w", err) } @@ -236,8 +236,7 @@ func (p *Peer) readAdminsFile() ([]string, error) { } defer f.Close() - keyRaw := make([]byte, 0) - _, err = f.Read(keyRaw) + keyRaw, err := io.ReadAll(f) if err != nil { return nil, err }