[ 
https://issues.apache.org/jira/browse/KAFKA-10574?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17212643#comment-17212643
 ] 

Chris Egerton commented on KAFKA-10574:
---------------------------------------

Thanks [~rhauch]. Really appreciate the backports; it's a one-in-16-million 
chance for this bug to show up but when it does it can be pretty nasty. Nice to 
know that those future releases will be safe.

> Infinite loop in SimpleHeaderConverter and Values classes
> ---------------------------------------------------------
>
>                 Key: KAFKA-10574
>                 URL: https://issues.apache.org/jira/browse/KAFKA-10574
>             Project: Kafka
>          Issue Type: Bug
>          Components: KafkaConnect
>    Affects Versions: 1.1.0, 1.1.1, 1.1.2, 2.0.0, 2.0.1, 2.1.0, 2.2.0, 2.1.1, 
> 2.0.2, 2.3.0, 2.2.1, 2.2.2, 2.4.0, 2.3.1, 2.5.0, 2.4.1, 2.6.0, 2.5.1
>            Reporter: Chris Egerton
>            Assignee: Chris Egerton
>            Priority: Major
>             Fix For: 2.3.2, 2.4.2, 2.7.0, 2.5.2, 2.6.1
>
>
> 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|https://docs.oracle.com/javase/8/docs/api/java/text/StringCharacterIterator.html],
>  causes the 
> [CharacterIterator.DONE|https://docs.oracle.com/javase/8/docs/api/java/text/CharacterIterator.html#DONE]
>  character to be returned from 
> [StringCharacterIterator::current|https://docs.oracle.com/javase/8/docs/api/java/text/StringCharacterIterator.html#current--],
>  
> [StringCharacterIterator::next|https://docs.oracle.com/javase/8/docs/api/java/text/StringCharacterIterator.html#next--],
>  etc., and a check for that character is used by the {{Values}} class for its 
> parsing logic.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to