> This PR simplifies several aspects of the ICC_Profile class: > > - [Change > 1](https://github.com/openjdk/jdk/pull/25650/commits/426a608b1df9e39e221d05e7374a3fecf6e6cf30): > The ICC_Profile.getInstance(byte[] data) method used to copy the profile > header for validation. This copy appears redundant, as the original data > array is used later anyway. This logic was originally introduced by > [JDK-8347377](https://bugs.openjdk.org/browse/JDK-8347377). > > - [Change > 2](https://github.com/openjdk/jdk/pull/25650/commits/4035c8b1f7e1dcbc9941ead939218bba47b0a2fe): > In some places, the code retrieves the profile header using > getData(icSigHead), which always creates a new array. It is now replaced with > private getData(cmmProfile(), icSigHead) to avoid unnecessary copying. To > clarify the purpose of the private method, I have added documentation. > > - [Change > 3](https://github.com/openjdk/jdk/pull/25650/commits/96ad456593de3dd68c3ae6840fffee7bac68bc0c): > After Change 2, static analysis tools began reporting a potential NPE when > using getData(cmmProfile(), icSigHead), since it may return null. To address > this, the internal implementation of getData was updated to always return a > non-null value or throw an exception. The public method now catches this > exception and returns null, as required by the specification. **Note**: this > potential NPE is not a regression introduced by any changes, it simply became > easier for tools to detect due to the simplified code. > > @prrace @honkar-jdk please take a look
Sergey Bylokhov has updated the pull request incrementally with one additional commit since the last revision: theHeader -> data ------------- Changes: - all: https://git.openjdk.org/jdk/pull/25650/files - new: https://git.openjdk.org/jdk/pull/25650/files/450f35e9..97d01fc3 Webrevs: - full: https://webrevs.openjdk.org/?repo=jdk&pr=25650&range=01 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=25650&range=00-01 Stats: 9 lines in 1 file changed: 0 ins; 0 del; 9 mod Patch: https://git.openjdk.org/jdk/pull/25650.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/25650/head:pull/25650 PR: https://git.openjdk.org/jdk/pull/25650