diff options
author | James Moger <james.moger@gitblit.com> | 2013-01-07 08:10:00 -0500 |
---|---|---|
committer | James Moger <james.moger@gitblit.com> | 2013-01-07 08:10:00 -0500 |
commit | 11573e6b872c96bd07560ec67a97ac758548baba (patch) | |
tree | 16adb6a9a955a36c126530c956effd0e46e80c89 | |
parent | b8fab611aa1d9c12c447014014bec43a1fdc617f (diff) | |
download | gitblit-11573e6b872c96bd07560ec67a97ac758548baba.tar.gz gitblit-11573e6b872c96bd07560ec67a97ac758548baba.zip |
Fixed NPE when recursively calculating a folder size with a named pipe
-rw-r--r-- | docs/04_releases.mkd | 1 | ||||
-rw-r--r-- | 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 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;
}
/**
|