RFR: 8080272 Refactor I/O stream copying to use java.io.InputStream.transferTo [v8]

Andrey Turbanov github.com+741251+turbanoff at openjdk.java.net
Mon Dec 21 09:53:57 UTC 2020


On Mon, 21 Dec 2020 09:40:39 GMT, Сергей Цыпанов <github.com+10835776+stsypanov at openjdk.org> wrote:

>> Andrey Turbanov has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   8080272: Refactor I/O stream copying to use java.io.InputStream.transferTo
>>   revert changes in Apache Santuario
>
> src/java.base/share/classes/sun/security/tools/keytool/Main.java line 2459:
> 
>> 2457:                 byte[] bytes = in.readAllBytes();
>> 2458:                 return CertificateFactory.getInstance("X509").generateCRLs(
>> 2459:                         new ByteArrayInputStream(bytes));
> 
> Let's just pass `in` into `generateCRLs` instead of reading all bytes and rewrapping them into `InputStream` again?

Looks like it was done intentionally by original author of the code.
Check comment above:

                // Read the full stream before feeding to X509Factory,
                // otherwise, keytool -gencrl | keytool -printcrl
                // might not work properly, since -gencrl is slow
                // and there's no data in the pipe at the beginning.

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

PR: https://git.openjdk.java.net/jdk/pull/1853



More information about the security-dev mailing list