From 9788200234dfe222989823c6160d2be40fd84415 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Tue, 11 Jun 2013 15:50:13 -0400
Subject: [PATCH] Improve NPE handling for hook script enumeration (issue-253)

---
 src/main/java/com/gitblit/git/ReceiveHook.java |    9 +++++++--
 1 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/gitblit/git/ReceiveHook.java b/src/main/java/com/gitblit/git/ReceiveHook.java
index a961f5a..3e00b38 100644
--- a/src/main/java/com/gitblit/git/ReceiveHook.java
+++ b/src/main/java/com/gitblit/git/ReceiveHook.java
@@ -42,6 +42,7 @@
 import com.gitblit.client.Translation;
 import com.gitblit.models.RepositoryModel;
 import com.gitblit.models.UserModel;
+import com.gitblit.utils.ArrayUtils;
 import com.gitblit.utils.ClientLogger;
 import com.gitblit.utils.JGitUtils;
 import com.gitblit.utils.PushLogUtils;
@@ -170,7 +171,9 @@
 
 		Set<String> scripts = new LinkedHashSet<String>();
 		scripts.addAll(GitBlit.self().getPreReceiveScriptsInherited(repository));
-		scripts.addAll(repository.preReceiveScripts);
+		if (!ArrayUtils.isEmpty(repository.preReceiveScripts)) {
+			scripts.addAll(repository.preReceiveScripts);
+		}
 		runGroovy(repository, user, commands, rp, scripts);
 		for (ReceiveCommand cmd : commands) {
 			if (!Result.NOT_ATTEMPTED.equals(cmd.getResult())) {
@@ -262,7 +265,9 @@
 		// run Groovy hook scripts 
 		Set<String> scripts = new LinkedHashSet<String>();
 		scripts.addAll(GitBlit.self().getPostReceiveScriptsInherited(repository));
-		scripts.addAll(repository.postReceiveScripts);
+		if (!ArrayUtils.isEmpty(repository.postReceiveScripts)) {
+			scripts.addAll(repository.postReceiveScripts);
+		}
 		runGroovy(repository, user, commands, rp, scripts);
 	}
 

--
Gitblit v1.9.1