google-code-export / wro4j

Automatically exported from code.google.com/p/wro4j
1 stars 1 forks source link

JarWildcardStreamLocator does not close jarFile #916

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
See below code. JarFile is autoclosable, so you can fix it by:

try(JarFile file = open(jarPath)) {
...
}

Code where it now goes wrong:

  private InputStream locateStreamFromJar(final String uri, final File jarPath)
      throws IOException {
    LOG.debug("Locating stream from jar: {}", jarPath);
    final WildcardContext wildcardContext = new WildcardContext(uri, jarPath);
    String classPath = FilenameUtils.getPath(uri);

    if (classPath.startsWith(ClasspathUriLocator.PREFIX)) {
      classPath = StringUtils.substringAfter(classPath, ClasspathUriLocator.PREFIX);
    }

    final JarFile file = open(jarPath);
...

// !file is not closed

Original issue reported on code.google.com by dkwak...@gmail.com on 21 Jan 2015 at 10:07

GoogleCodeExporter commented 9 years ago
Thanks!

Original comment by alex.obj...@gmail.com on 21 Jan 2015 at 10:13

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
Other places:
Wro4jMojo.java, line 184 
WroTestUtils.java, line 219 
XmlModelFactory.java, line 214 
BuildContextHolder.java, line 163 
ServletContextPropertyWroConfigurationFactory.java, line 67 
UglifyJs.java, line 191 
WroTestUtils.java, line 355 
WroTestUtils.java, line 216 
WroUtil.java, line 322 
NodeLessCssProcessor.java, line 99 
Wro4jMojo.java, line 116 
UglifyJs.java, line 63 
WroTestUtils.java, line 355 
NodeCoffeeScriptProcessor.java, line 101 
ConfigurableWroManagerFactory.java, line 106 
BuildContextHolder.java, line 75 
NodeTypeScriptProcessor.java, line 104 
NodeTypeScriptProcessor.java, line 99 
XmlModelFactory.java, line 196 
WroTestUtils.java, line 351 
AbstractLinterMojo.java, line 104 
RhinoScriptBuilder.java, line 72 
ServletContextUriLocator.java, line 182 
RhinoScriptBuilder.java, line 106 
GroovyModelFactory.java, line 64 
WroTestUtils.java, line 219 
JsonModelFactory.java, line 58 
JsonModelFactory.java, line 54 
AbstractSynchronizedCacheStrategyDecorator.java, line 75
AbstractSynchronizedCacheStrategyDecorator.java, line 49
AbstractSynchronizedCacheStrategyDecorator.java, line 42
JarWildcardStreamLocator.java, line 138

Original comment by dkwak...@gmail.com on 21 Jan 2015 at 10:20