]
Ilia Vassilev moved ELY-841 to WFLY-7828:
-----------------------------------------
Project: WildFly (was: WildFly Elytron)
Key: WFLY-7828 (was: ELY-841)
Coverity static analysis: Resource leaks in ProviderLoaderService
(Elytron subsystem)
-------------------------------------------------------------------------------------
Key: WFLY-7828
URL:
https://issues.jboss.org/browse/WFLY-7828
Project: WildFly
Issue Type: Bug
Reporter: Josef Cacek
Assignee: Ilia Vassilev
Priority: Critical
Labels: static_analysis
Coverity static-analysis scan found 2 resource leaks in {{ProviderLoaderService}} class.
1)
https://scan7.coverity.com/reports.htm#v16159/p12663/fileInstanceId=68921...
Following code is used in `load` method:
{code:java}
if (provider == null) {
provider = providerClazz.newInstance();
if (configurationStreamSupplier != null) {
try (InputStream is = configurationStreamSupplier.get()) {
provider.load(configurationStreamSupplier.get());
}
}
}
{code}
The load method should use `is` instance instead of calling the supplier again.
2)
https://scan7.coverity.com/reports.htm#v16159/p12663/fileInstanceId=68921...
Following code is used in `toInputStream` method:
{code:java}
SecurityActions.doPrivileged((PrivilegedExceptionAction<InputStream>) () -> new
FileInputStream(file) );
return new FileInputStream(file);
{code}
There should be probably just:
{code:java}
return SecurityActions.doPrivileged((PrivilegedExceptionAction<InputStream>) ()
-> new FileInputStream(file) );
{code}