https://bz.apache.org/bugzilla/show_bug.cgi?id=66436

Dominik Stadler <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |FIXED

--- Comment #19 from Dominik Stadler <[email protected]> ---
This is hopefully now fixed via r1907444

The code seems to not have taken into account that ciphers work on data in
16-byte-chunks and so sometimes a bit more data needs to be read.

By trying to read a few bytes more, the test-case and a number of new tests now
work fine and existing tests continue to work.



What made it hard to find is that the JDK code silently ignores a chunk of data
if it's size is not a multiple of 16-bytes and just keeps using the encrypted
data!?:

From
/usr/lib/jvm/java-11-openjdk-amd64/lib/src.zip!/java.base/com/sun/crypto/provider/CipherCore.java:720

        // do not count the trailing bytes which do not make up a unit
        len = (len > 0 ? (len - (len % unitBytes)) : 0);

-- 
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to