summaryrefslogtreecommitdiffstats
path: root/base/util
diff options
context:
space:
mode:
authorEndi S. Dewata <edewata@redhat.com>2016-11-03 02:43:53 +0100
committerEndi S. Dewata <edewata@redhat.com>2016-11-03 23:52:32 +0100
commitf570bc4d54af59eb9cbb29f672c2b7219e03f616 (patch)
tree8662adcfc74d002676d17ff6fa72c1630d54b6fb /base/util
parent54496a801f235cd1eafd6d600387046aaa1bffcd (diff)
downloadpki-f570bc4d54af59eb9cbb29f672c2b7219e03f616.tar.gz
pki-f570bc4d54af59eb9cbb29f672c2b7219e03f616.tar.xz
pki-f570bc4d54af59eb9cbb29f672c2b7219e03f616.zip
Fixed resource leak in ExtendedKeyUsageExtension.
The ExtendedKeyUsageExtension has been modified to always close the DerOutputStream instance. The ExtendedKeyUsageExt has been modified to wrap the original exception. https://fedorahosted.org/pki/ticket/2530
Diffstat (limited to 'base/util')
-rw-r--r--base/util/src/netscape/security/extensions/ExtendedKeyUsageExtension.java8
1 files changed, 5 insertions, 3 deletions
diff --git a/base/util/src/netscape/security/extensions/ExtendedKeyUsageExtension.java b/base/util/src/netscape/security/extensions/ExtendedKeyUsageExtension.java
index a966ca1db..c9c8acfab 100644
--- a/base/util/src/netscape/security/extensions/ExtendedKeyUsageExtension.java
+++ b/base/util/src/netscape/security/extensions/ExtendedKeyUsageExtension.java
@@ -66,11 +66,11 @@ public class ExtendedKeyUsageExtension extends Extension implements CertAttrSet
}
}
- public ExtendedKeyUsageExtension() {
+ public ExtendedKeyUsageExtension() throws IOException {
this(false, null);
}
- public ExtendedKeyUsageExtension(boolean crit, Vector<ObjectIdentifier> oids) {
+ public ExtendedKeyUsageExtension(boolean crit, Vector<ObjectIdentifier> oids) throws IOException {
try {
extensionId = ObjectIdentifier.getObjectIdentifier(OID);
} catch (IOException e) {
@@ -200,7 +200,7 @@ public class ExtendedKeyUsageExtension extends Extension implements CertAttrSet
}
}
- private void encodeExtValue() {
+ private void encodeExtValue() throws IOException {
DerOutputStream out = new DerOutputStream();
DerOutputStream temp = new DerOutputStream();
@@ -219,6 +219,8 @@ public class ExtendedKeyUsageExtension extends Extension implements CertAttrSet
try {
out.write(DerValue.tag_Sequence, temp);
} catch (IOException ex) {
+ } finally {
+ out.close();
}
extensionValue = out.toByteArray();