From 9727511ad07db2c332f164fe399108768457bdae Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Sun, 13 Jan 2013 17:28:18 -0500
Subject: [PATCH] Null checks when generating a fork network (issue-187)
---
src/com/gitblit/GitBlit.java | 14 ++++++++++++--
docs/04_releases.mkd | 1 +
2 files changed, 13 insertions(+), 2 deletions(-)
diff --git a/docs/04_releases.mkd b/docs/04_releases.mkd
index 3d17a9b..af702f2 100644
--- a/docs/04_releases.mkd
+++ b/docs/04_releases.mkd
@@ -7,6 +7,7 @@
#### fixes
- Fixed nullpointer on recursively calculating folder sizes when there is a named pipe or symlink in the hierarchy
+- Added nullchecking when concurrently forking a repository and trying to display it's fork network (issue-187)
- Fixed bug where permission changes were not visible in the web ui to a logged-in user until the user logged-out and then logged back in again (issue-186)
- Fixed nullpointer on creating a repository with mixed case (issue 185)
- Fixed nullpointer when using web.allowForking = true && git.cacheRepositoryList = false (issue 182)
diff --git a/src/com/gitblit/GitBlit.java b/src/com/gitblit/GitBlit.java
index f417b3e..e3ecebd 100644
--- a/src/com/gitblit/GitBlit.java
+++ b/src/com/gitblit/GitBlit.java
@@ -1872,11 +1872,16 @@
private ForkModel getForkModelFromCache(String repository) {
RepositoryModel model = repositoryListCache.get(repository.toLowerCase());
+ if (model == null) {
+ return null;
+ }
ForkModel fork = new ForkModel(model);
if (!ArrayUtils.isEmpty(model.forks)) {
for (String aFork : model.forks) {
ForkModel fm = getForkModelFromCache(aFork);
- fork.forks.add(fm);
+ if (fm != null) {
+ fork.forks.add(fm);
+ }
}
}
return fork;
@@ -1884,11 +1889,16 @@
private ForkModel getForkModel(String repository) {
RepositoryModel model = getRepositoryModel(repository.toLowerCase());
+ if (model == null) {
+ return null;
+ }
ForkModel fork = new ForkModel(model);
if (!ArrayUtils.isEmpty(model.forks)) {
for (String aFork : model.forks) {
ForkModel fm = getForkModel(aFork);
- fork.forks.add(fm);
+ if (fm != null) {
+ fork.forks.add(fm);
+ }
}
}
return fork;
--
Gitblit v1.9.1