Details
Description
A header value with the byte sequence 0xEF, 0xBF, 0xBF will cause an infinite loop in the Values::parseString method. Since that method is invoked by the default header converter (SimpleHeaderConverter), any sink record with that byte array will, by default, cause a sink task reading that record to stall forever.
This occurs because that byte sequence, when parsed as a UTF-8 string and then read by a StringCharacterIterator, causes the CharacterIterator.DONE character to be returned from StringCharacterIterator::current, StringCharacterIterator::next, etc., and a check for that character is used by the Values class for its parsing logic.
Attachments
Issue Links
- links to