Skip to content

Commit

Permalink
Disable hz-gb-2312 encoding support
Browse files Browse the repository at this point in the history
  • Loading branch information
foxcpp committed May 14, 2020
1 parent b472734 commit 8edcd91
Showing 1 changed file with 37 additions and 0 deletions.
37 changes: 37 additions & 0 deletions xtext_bug.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
//+build !hz_gb_2312

package maddy

import (
"errors"

"github.com/emersion/go-message/charset"
"golang.org/x/text/encoding"
)

/*
Disallow hz-gb-2312 encoding as it can trigger OOM crash.
https://github.com/emersion/go-message/issues/95
https://github.com/golang/go/issues/35118
*/

type dummyEncoding struct{}

func (dummyEncoding) NewDecoder() *encoding.Decoder {
return &encoding.Decoder{Transformer: dummyEncoding{}}
}
func (dummyEncoding) NewEncoder() *encoding.Encoder {
return &encoding.Encoder{Transformer: dummyEncoding{}}
}

func (dummyEncoding) Reset() {}

func (dummyEncoding) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) {
return 0, 0, errors.New("hz-gb-2312 decoding is disabled due to known issues")
}

func init() {
charset.RegisterEncoding("hz-gb-2312", dummyEncoding{})
}

0 comments on commit 8edcd91

Please sign in to comment.