On Mon, 8 Feb 2021 21:18:44 GMT, Philippe Marschall 
<github.com+471021+marsch...@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
>>   fix review comments
>
> src/java.base/share/classes/sun/security/provider/certpath/X509CertPath.java 
> line 230:
> 
>> 228:                 // Copy the entire input stream into an InputStream 
>> that does
>> 229:                 // support mark
>> 230:                 is = new ByteArrayInputStream(is.readAllBytes());
> 
> I don't understand why the check for #markSupported is done there. The 
> InputStream constructor of PKCS7 creates a DataInputStream on the InputStream 
> only to then call #readFully. I can't find a place where a call to #mark 
> happens. Since the InputStream constructor reads all bytes anyway I wonder 
> whether we could remove this if and unconditionally do:
> 
> PKCS7 pkcs7 = new PKCS7(is.readAllBytes());

Good idea. Will improve.
By the way, code in `sun.security.pkcs.PKCS7#PKCS7(java.io.InputStream)`  looks 
suspicious: it reads only `InputStream.available()` bytes, which doesn't make 
much sense to me.

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

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

Reply via email to