You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by da...@apache.org on 2015/07/17 13:12:39 UTC
[2/2] git commit: updated refs/heads/master to f15eaec
coverity 1116718: neglected jarinputstream when no entry found
Signed-off-by: Daan Hoogland <da...@onecht.net>
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/8849d506
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/8849d506
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/8849d506
Branch: refs/heads/master
Commit: 8849d506cbc18f69d4ca644eb35344a7043ae3f7
Parents: 0c72f77
Author: Daan Hoogland <da...@onecht.net>
Authored: Thu Jul 16 16:48:43 2015 +0200
Committer: Daan Hoogland <da...@onecht.net>
Committed: Fri Jul 17 13:12:26 2015 +0200
----------------------------------------------------------------------
.../serializer/OnwireClassRegistry.java | 38 ++++++++++----------
1 file changed, 18 insertions(+), 20 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/8849d506/framework/ipc/src/org/apache/cloudstack/framework/serializer/OnwireClassRegistry.java
----------------------------------------------------------------------
diff --git a/framework/ipc/src/org/apache/cloudstack/framework/serializer/OnwireClassRegistry.java b/framework/ipc/src/org/apache/cloudstack/framework/serializer/OnwireClassRegistry.java
index 46e5965..77269f3 100644
--- a/framework/ipc/src/org/apache/cloudstack/framework/serializer/OnwireClassRegistry.java
+++ b/framework/ipc/src/org/apache/cloudstack/framework/serializer/OnwireClassRegistry.java
@@ -32,7 +32,6 @@ import java.util.Set;
import java.util.jar.JarEntry;
import java.util.jar.JarInputStream;
-import org.apache.commons.io.IOUtils;
import org.apache.log4j.Logger;
@@ -156,28 +155,27 @@ public class OnwireClassRegistry {
static Set<Class<?>> getFromJARFile(String jar, String packageName) throws IOException, ClassNotFoundException {
Set<Class<?>> classes = new HashSet<Class<?>>();
- JarInputStream jarFile = new JarInputStream(new FileInputStream(jar));
- JarEntry jarEntry;
- do {
- jarEntry = jarFile.getNextJarEntry();
- if (jarEntry != null) {
- String className = jarEntry.getName();
- if (className.endsWith(".class")) {
- className = stripFilenameExtension(className);
- if (className.startsWith(packageName)) {
- try {
- Class<?> clz = Class.forName(className.replace('/', '.'));
- classes.add(clz);
- } catch (ClassNotFoundException | NoClassDefFoundError e) {
- s_logger.warn("Unable to load class from jar file", e);
+ try (JarInputStream jarFile = new JarInputStream(new FileInputStream(jar));) {
+ JarEntry jarEntry;
+ do {
+ jarEntry = jarFile.getNextJarEntry();
+ if (jarEntry != null) {
+ String className = jarEntry.getName();
+ if (className.endsWith(".class")) {
+ className = stripFilenameExtension(className);
+ if (className.startsWith(packageName)) {
+ try {
+ Class<?> clz = Class.forName(className.replace('/', '.'));
+ classes.add(clz);
+ } catch (ClassNotFoundException | NoClassDefFoundError e) {
+ s_logger.warn("Unable to load class from jar file", e);
+ }
}
}
}
- }
- } while (jarEntry != null);
-
- IOUtils.closeQuietly(jarFile);
- return classes;
+ } while (jarEntry != null);
+ return classes;
+ }
}
static String stripFilenameExtension(String file) {