Skip to content

Commit da79f86

Browse files
rsgowmanejona86
authored andcommitted
testing: Close cert files to avoid resource leak
Without this, test failures are generated within google3 for our (firestore) integration tests.
1 parent af51e96 commit da79f86

File tree

2 files changed

+16
-8
lines changed

2 files changed

+16
-8
lines changed

testing/src/main/java/io/grpc/internal/testing/TestUtils.java

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -189,10 +189,14 @@ public static SSLSocketFactory newSslSocketFactoryForCa(Provider provider,
189189
KeyStore ks = KeyStore.getInstance(KeyStore.getDefaultType());
190190
ks.load(null, null);
191191
CertificateFactory cf = CertificateFactory.getInstance("X.509");
192-
X509Certificate cert = (X509Certificate) cf.generateCertificate(
193-
new BufferedInputStream(new FileInputStream(certChainFile)));
194-
X500Principal principal = cert.getSubjectX500Principal();
195-
ks.setCertificateEntry(principal.getName("RFC2253"), cert);
192+
BufferedInputStream in = new BufferedInputStream(new FileInputStream(certChainFile));
193+
try {
194+
X509Certificate cert = (X509Certificate) cf.generateCertificate(in);
195+
X500Principal principal = cert.getSubjectX500Principal();
196+
ks.setCertificateEntry(principal.getName("RFC2253"), cert);
197+
} finally {
198+
in.close();
199+
}
196200

197201
// Set up trust manager factory to use our key store.
198202
TrustManagerFactory trustManagerFactory =

testing/src/main/java/io/grpc/testing/TestUtils.java

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -120,10 +120,14 @@ public static SSLSocketFactory newSslSocketFactoryForCa(Provider provider,
120120
KeyStore ks = KeyStore.getInstance(KeyStore.getDefaultType());
121121
ks.load(null, null);
122122
CertificateFactory cf = CertificateFactory.getInstance("X.509");
123-
X509Certificate cert = (X509Certificate) cf.generateCertificate(
124-
new BufferedInputStream(new FileInputStream(certChainFile)));
125-
X500Principal principal = cert.getSubjectX500Principal();
126-
ks.setCertificateEntry(principal.getName("RFC2253"), cert);
123+
BufferedInputStream in = new BufferedInputStream(new FileInputStream(certChainFile));
124+
try {
125+
X509Certificate cert = (X509Certificate) cf.generateCertificate(in);
126+
X500Principal principal = cert.getSubjectX500Principal();
127+
ks.setCertificateEntry(principal.getName("RFC2253"), cert);
128+
} finally {
129+
in.close();
130+
}
127131

128132
// Set up trust manager factory to use our key store.
129133
TrustManagerFactory trustManagerFactory =

0 commit comments

Comments
 (0)