mirror of
https://github.com/openjdk/jdk.git
synced 2026-05-13 06:59:38 +00:00
8174113: Better sourcing of code
Reviewed-by: mullan, ahgross
This commit is contained in:
parent
5df462c1bf
commit
f1a4ac3e00
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -560,6 +560,7 @@ public class CodeSource implements java.io.Serializable {
|
||||
{
|
||||
CertificateFactory cf;
|
||||
Hashtable<String, CertificateFactory> cfs = null;
|
||||
List<java.security.cert.Certificate> certList = null;
|
||||
|
||||
ois.defaultReadObject(); // location
|
||||
|
||||
@ -569,7 +570,7 @@ public class CodeSource implements java.io.Serializable {
|
||||
// we know of 3 different cert types: X.509, PGP, SDSI, which
|
||||
// could all be present in the stream at the same time
|
||||
cfs = new Hashtable<>(3);
|
||||
this.certs = new java.security.cert.Certificate[size];
|
||||
certList = new ArrayList<>(size > 20 ? 20 : size);
|
||||
}
|
||||
|
||||
for (int i = 0; i < size; i++) {
|
||||
@ -600,13 +601,17 @@ public class CodeSource implements java.io.Serializable {
|
||||
ois.readFully(encoded);
|
||||
ByteArrayInputStream bais = new ByteArrayInputStream(encoded);
|
||||
try {
|
||||
this.certs[i] = cf.generateCertificate(bais);
|
||||
certList.add(cf.generateCertificate(bais));
|
||||
} catch (CertificateException ce) {
|
||||
throw new IOException(ce.getMessage());
|
||||
}
|
||||
bais.close();
|
||||
}
|
||||
|
||||
if (certList != null) {
|
||||
this.certs = certList.toArray(
|
||||
new java.security.cert.Certificate[size]);
|
||||
}
|
||||
// Deserialize array of code signers (if any)
|
||||
try {
|
||||
this.signers = ((CodeSigner[])ois.readObject()).clone();
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user