On Tue, 18 Feb 2025 11:45:57 GMT, Konanki Sreenath <d...@openjdk.org> wrote:
>> Earlier code will trigger NPE if the certificate does not contain the >> extensions or if the requested extensions does not exist. The better >> approach for hardening **getExtensionValue** here is to to check for NULL >> explicitly before calling **getExtensionValue()** and avoding try-catch >> block which ensures the readability and maintainability. >> >> After scanning in multiple places where invokng getExtensions on the >> X509CertInfo reference, the check for NULL is added in the **getKeyUsage()** >> as well while calling before **getExtensionValue()** >> >> The associated tests are written and added in test class >> **CertificateExtensions**. Which will ensure to validate the >> **getExtensionValue()** and **getKeyUsage()** methods in **X509CertImpl** >> class. > > Konanki Sreenath has updated the pull request incrementally with one > additional commit since the last revision: > > JDK-8346094 : Harden X509CertImpl.getExtensionValue for NPE cases There is still one `if (info != null)` check in `getTBSCertificate()`. Also, you can combine Objects.requireNonNull(info); this.info = info; to this.info = Objects.requireNonNull(info); ------------- PR Comment: https://git.openjdk.org/jdk/pull/23315#issuecomment-2666430906