On Thu, 29 Oct 2026 12:43:04 GMT, Timofei Fedotov <[email protected]> wrote:

> DTLSReassembler can queue fragments of the same handshake message with 
> different total messageLength values. Reassembly holes are initialized from 
> the first fragment, while the output array is allocated using the fragment 
> with the lowest offset.
> 
> For the same epoch, message sequence, and HELLO_REQUEST type, submit these 
> fragments in order:
> offset 5, length 50, total message length 100;
> offset 0, length 5, total message length 10;
> offset 55, length 45, total message length 100.
> 
> The final fragment completes the holes, but copying the buffered fragments 
> into the array sized for a ten-byte message triggers 
> ArrayIndexOutOfBoundsException. SSLEngineImpl catches this runtime exception 
> and reports a fatal SSLException; it does not establish a JVM crash.
> 
> Expected behavior the inconsistent handshake metadata must be rejected as a 
> protocol error before fragment reassembly.
> 
> ---------
> - [x] I confirm that I make this contribution in accordance with the [OpenJDK 
> Interim AI Policy](https://openjdk.org/legal/ai).

Hi @Sovtouch! Please add a regression unit test demonstrating 
`ArrayIndexOutOfBoundsException`

-------------

PR Comment: https://git.openjdk.org/jdk/pull/33633#issuecomment-6498860121

Reply via email to