summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJames Moger <james.moger@gitblit.com>2013-01-07 08:10:00 -0500
committerJames Moger <james.moger@gitblit.com>2013-01-07 08:10:00 -0500
commit11573e6b872c96bd07560ec67a97ac758548baba (patch)
tree16adb6a9a955a36c126530c956effd0e46e80c89
parentb8fab611aa1d9c12c447014014bec43a1fdc617f (diff)
downloadgitblit-11573e6b872c96bd07560ec67a97ac758548baba.tar.gz
gitblit-11573e6b872c96bd07560ec67a97ac758548baba.zip
Fixed NPE when recursively calculating a folder size with a named pipe
-rw-r--r--docs/04_releases.mkd1
-rw-r--r--src/com/gitblit/utils/FileUtils.java18
2 files changed, 9 insertions, 10 deletions
diff --git a/docs/04_releases.mkd b/docs/04_releases.mkd
index eee19173..26cbd08b 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 0b8aeb4a..08348670 100644
--- a/src/com/gitblit/utils/FileUtils.java
+++ b/src/com/gitblit/utils/FileUtils.java
@@ -176,19 +176,17 @@ public class FileUtils {
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;
}
/**