File tree Expand file tree Collapse file tree 2 files changed +36
-33
lines changed Expand file tree Collapse file tree 2 files changed +36
-33
lines changed Original file line number Diff line number Diff line change @@ -552,47 +552,49 @@ func randomFallbackServer() string {
552552}
553553
554554func 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
577578func 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}
Original file line number Diff line number Diff line change @@ -13,6 +13,7 @@ import (
1313 "fmt"
1414 "io"
1515 "net"
16+ "strings"
1617)
1718
1819const (
@@ -282,8 +283,8 @@ func domainRecordIPv6Decode(r *BytesReader) (net.IP, error) {
282283}
283284
284285func 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}
You can’t perform that action at this time.
0 commit comments