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