summaryrefslogtreecommitdiff
path: root/vendor/github.com/miekg/dns/msg.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/miekg/dns/msg.go')
-rw-r--r--vendor/github.com/miekg/dns/msg.go20
1 files changed, 9 insertions, 11 deletions
diff --git a/vendor/github.com/miekg/dns/msg.go b/vendor/github.com/miekg/dns/msg.go
index b05cf14e9..8294d0395 100644
--- a/vendor/github.com/miekg/dns/msg.go
+++ b/vendor/github.com/miekg/dns/msg.go
@@ -501,30 +501,28 @@ func packTxtString(s string, msg []byte, offset int) (int, error) {
return offset, nil
}
-func packOctetString(s string, msg []byte, offset int, tmp []byte) (int, error) {
- if offset >= len(msg) || len(s) > len(tmp) {
+func packOctetString(s string, msg []byte, offset int) (int, error) {
+ if offset >= len(msg) || len(s) > 256*4+1 {
return offset, ErrBuf
}
- bs := tmp[:len(s)]
- copy(bs, s)
- for i := 0; i < len(bs); i++ {
+ for i := 0; i < len(s); i++ {
if len(msg) <= offset {
return offset, ErrBuf
}
- if bs[i] == '\\' {
+ if s[i] == '\\' {
i++
- if i == len(bs) {
+ if i == len(s) {
break
}
// check for \DDD
- if isDDD(bs[i:]) {
- msg[offset] = dddToByte(bs[i:])
+ if isDDD(s[i:]) {
+ msg[offset] = dddToByte(s[i:])
i += 2
} else {
- msg[offset] = bs[i]
+ msg[offset] = s[i]
}
} else {
- msg[offset] = bs[i]
+ msg[offset] = s[i]
}
offset++
}