diff --git a/java/external/src/javax/xml/datatype/FactoryFinder.java b/java/external/src/javax/xml/datatype/FactoryFinder.java index 42ecbdb..7daea1a 100644 --- a/java/external/src/javax/xml/datatype/FactoryFinder.java +++ b/java/external/src/javax/xml/datatype/FactoryFinder.java @@ -292,11 +292,19 @@ class FactoryFinder { // XXX Does not handle all possible input as specified by the // Jar Service Provider specification factoryClassName = rd.readLine(); - rd.close(); - } catch (IOException x) { + } + catch (IOException x) { // No provider found return null; } + finally { + try { + // try to close the reader. + rd.close(); + } + // Ignore the exception. + catch (IOException exc) {} + } if (factoryClassName != null && ! "".equals(factoryClassName)) { diff --git a/java/external/src/javax/xml/parsers/FactoryFinder.java b/java/external/src/javax/xml/parsers/FactoryFinder.java index 9f95ff3..26147c7 100644 --- a/java/external/src/javax/xml/parsers/FactoryFinder.java +++ b/java/external/src/javax/xml/parsers/FactoryFinder.java @@ -275,11 +275,19 @@ class FactoryFinder { // XXX Does not handle all possible input as specified by the // Jar Service Provider specification factoryClassName = rd.readLine(); - rd.close(); - } catch (IOException x) { + } + catch (IOException x) { // No provider found return null; } + finally { + try { + // try to close the reader. + rd.close(); + } + // Ignore the exception. + catch (IOException exc) {} + } if (factoryClassName != null && ! "".equals(factoryClassName)) { diff --git a/java/external/src/javax/xml/transform/FactoryFinder.java b/java/external/src/javax/xml/transform/FactoryFinder.java index 8869543..1c9f5a8 100644 --- a/java/external/src/javax/xml/transform/FactoryFinder.java +++ b/java/external/src/javax/xml/transform/FactoryFinder.java @@ -275,11 +275,19 @@ class FactoryFinder { // XXX Does not handle all possible input as specified by the // Jar Service Provider specification factoryClassName = rd.readLine(); - rd.close(); - } catch (IOException x) { + } + catch (IOException x) { // No provider found return null; } + finally { + try { + // try to close the reader. + rd.close(); + } + // Ignore the exception. + catch (IOException exc) {} + } if (factoryClassName != null && ! "".equals(factoryClassName)) {