Skip to content

Commit 6a935cd

Browse files
committed
fix(lint): avoid string concat in loop
Signed-off-by: Chris Gianelloni <[email protected]>
1 parent 9919c7b commit 6a935cd

File tree

2 files changed

+36
-33
lines changed

2 files changed

+36
-33
lines changed

internal/dns/dns.go

Lines changed: 30 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -552,47 +552,49 @@ func randomFallbackServer() string {
552552
}
553553

554554
func formatMessageAnswerSection(section []dns.RR) string {
555-
ret := "[ "
555+
var sb strings.Builder
556+
sb.WriteString("[ ")
556557
for idx, rr := range section {
557-
ret += fmt.Sprintf(
558-
"< %s >",
559-
strings.ReplaceAll(
560-
strings.TrimPrefix(
561-
rr.String(),
562-
";",
563-
),
564-
"\t",
565-
" ",
558+
sb.WriteString("< ")
559+
sb.WriteString(strings.ReplaceAll(
560+
strings.TrimPrefix(
561+
rr.String(),
562+
";",
566563
),
564+
"\t",
565+
" ",
566+
),
567567
)
568+
sb.WriteString(" >")
568569
if idx != len(section)-1 {
569-
ret += `,`
570+
sb.WriteString(`,`)
570571
}
571-
ret += ` `
572+
sb.WriteString(` `)
572573
}
573-
ret += "]"
574-
return ret
574+
sb.WriteString("]")
575+
return sb.String()
575576
}
576577

577578
func formatMessageQuestionSection(section []dns.Question) string {
578-
ret := "[ "
579+
var sb strings.Builder
580+
sb.WriteString("[ ")
579581
for idx, question := range section {
580-
ret += fmt.Sprintf(
581-
"< %s >",
582-
strings.ReplaceAll(
583-
strings.TrimPrefix(
584-
question.String(),
585-
";",
586-
),
587-
"\t",
588-
" ",
582+
sb.WriteString("< ")
583+
sb.WriteString(strings.ReplaceAll(
584+
strings.TrimPrefix(
585+
question.String(),
586+
";",
589587
),
588+
"\t",
589+
" ",
590+
),
590591
)
592+
sb.WriteString(" >")
591593
if idx != len(section)-1 {
592-
ret += `,`
594+
sb.WriteString(`,`)
593595
}
594-
ret += ` `
596+
sb.WriteString(` `)
595597
}
596-
ret += "]"
597-
return ret
598+
sb.WriteString("]")
599+
return sb.String()
598600
}

internal/handshake/domain.go

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import (
1313
"fmt"
1414
"io"
1515
"net"
16+
"strings"
1617
)
1718

1819
const (
@@ -282,8 +283,8 @@ func domainRecordIPv6Decode(r *BytesReader) (net.IP, error) {
282283
}
283284

284285
func domainRecordNameDecode(r *BytesReader) (string, error) {
286+
var sb strings.Builder
285287
// NOTE: this function is mostly ported straight from hnsd
286-
var name string
287288
for {
288289
c, err := r.ReadByte()
289290
if err != nil {
@@ -311,10 +312,10 @@ func domainRecordNameDecode(r *BytesReader) (string, error) {
311312
if b == 0x2e {
312313
b = 0xfe
313314
}
314-
name += string([]byte{b})
315+
sb.WriteString(string([]byte{b}))
315316
}
316-
if len(name) > 0 {
317-
name += "."
317+
if len(sb.String()) > 0 {
318+
sb.WriteString(".")
318319
}
319320
case 0xc0:
320321
// Lookup name from earlier in the buffer
@@ -338,5 +339,5 @@ func domainRecordNameDecode(r *BytesReader) (string, error) {
338339
return "", errors.New("unexpected value")
339340
}
340341
}
341-
return name, nil
342+
return sb.String(), nil
342343
}

0 commit comments

Comments
 (0)