From 11573e6b872c96bd07560ec67a97ac758548baba Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Mon, 07 Jan 2013 08:10:00 -0500 Subject: [PATCH] Fixed NPE when recursively calculating a folder size with a named pipe --- docs/04_releases.mkd | 1 + src/com/gitblit/utils/FileUtils.java | 18 ++++++++---------- 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/docs/04_releases.mkd b/docs/04_releases.mkd index eee1917..26cbd08 100644 --- a/docs/04_releases.mkd +++ b/docs/04_releases.mkd @@ -6,6 +6,7 @@ #### fixes +- Fixed nullpointer on recursively calculating folder sizes when there is a named pipe in the hierarchy - Fixed nullpointer on creating a repository with mixed case (issue 185) - Fixed nullpointer when using web.allowForking = true && git.cacheRepositoryList = false (issue 182) - Build project models from the repository model cache, when possible, to reduce page load time (issue 172) diff --git a/src/com/gitblit/utils/FileUtils.java b/src/com/gitblit/utils/FileUtils.java index 0b8aeb4..0834867 100644 --- a/src/com/gitblit/utils/FileUtils.java +++ b/src/com/gitblit/utils/FileUtils.java @@ -176,19 +176,17 @@ public static long folderSize(File directory) { if (directory == null || !directory.exists()) { return -1; - } - if (directory.isFile()) { - return directory.length(); - } - long length = 0; - for (File file : directory.listFiles()) { - if (file.isFile()) { - length += file.length(); - } else { + } + if (directory.isDirectory()) { + long length = 0; + for (File file : directory.listFiles()) { length += folderSize(file); } + return length; + } else if (directory.isFile()) { + return directory.length(); } - return length; + return 0; } /** -- Gitblit v1.9.1