From 3311b0789ea26be6bddb0277f929c06d2a532051 Mon Sep 17 00:00:00 2001 From: Martin Tzvetanov Grigorov Date: Mon, 29 Jun 2015 14:30:01 +0300 Subject: [PATCH] FindBugs: Check for non-null 'files' before staring to iterate over it. --- .../util/resource/ZipResourceStream.java | 49 ++++++++++--------- 1 file changed, 26 insertions(+), 23 deletions(-) diff --git a/wicket-util/src/main/java/org/apache/wicket/util/resource/ZipResourceStream.java b/wicket-util/src/main/java/org/apache/wicket/util/resource/ZipResourceStream.java index cea2a45de1b..270dd67667c 100644 --- a/wicket-util/src/main/java/org/apache/wicket/util/resource/ZipResourceStream.java +++ b/wicket-util/src/main/java/org/apache/wicket/util/resource/ZipResourceStream.java @@ -132,41 +132,44 @@ private static void zipDir(final File dir, final ZipOutputStream out, final Stri BufferedInputStream origin; byte data[] = new byte[BUFFER]; - for (String file : files) + if (files != null) { - if (log.isDebugEnabled()) + for (String file : files) { - log.debug("Adding: '{}'", file); - } - File f = new File(dir, file); - if (f.isDirectory()) - { - if (recursive) + if (log.isDebugEnabled()) { - zipDir(f, out, path + f.getName() + "/", recursive); + log.debug("Adding: '{}'", file); } - } - else - { - out.putNextEntry(new ZipEntry(path + f.getName())); + File f = new File(dir, file); + if (f.isDirectory()) + { + if (recursive) + { + zipDir(f, out, path + f.getName() + "/", recursive); + } + } else + { + out.putNextEntry(new ZipEntry(path + f.getName())); - FileInputStream fi = new FileInputStream(f); - origin = new BufferedInputStream(fi, BUFFER); + FileInputStream fi = new FileInputStream(f); + origin = new BufferedInputStream(fi, BUFFER); - try - { - int count; - while ((count = origin.read(data, 0, BUFFER)) != -1) + try + { + int count; + while ((count = origin.read(data, 0, BUFFER)) != -1) + { + out.write(data, 0, count); + } + } finally { - out.write(data, 0, count); + origin.close(); } - } finally { - origin.close(); } } } - if (path.equals("")) + if ("".equals(path)) { out.close(); }