RFR: JDK-8321599 Data loss in AVX3 Base64 decoding

Scott Gibbons sgibbons at openjdk.org
Mon Dec 11 15:15:31 UTC 2023


On Fri, 8 Dec 2023 20:56:52 GMT, Scott Gibbons <sgibbons at openjdk.org> wrote:

> Fix for looking for padding characters within the encoded string.  Was not adding start offset to length, so was looking at potentially freed or uninitialized memory.
> 
> Tested teir1 and with testcase supplied with JBS issue.
> 
> The problem will only occur when all of the following are true:
> 1. The source offset of the string to be decoded is != 0.
> 2. The characters at the beginning of the string (minus the offset) plus the string length mod 64 are either "=" or "==".
> 3. The string is >= 32 characters.
> 4. The string is not MIME encoded.
> 
> If any of these conditions are not met, the decode works as expected. This was due to omitting the source offset of the string when checking for padding characters.

Closing this PR by @TobiHartmann request.

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

PR Comment: https://git.openjdk.org/jdk/pull/17039#issuecomment-1850276838


More information about the hotspot-compiler-dev mailing list