From 17f403fbcd9bdffc8f9901119482fa200ca572f7 Mon Sep 17 00:00:00 2001
From: Ethan Koenig <ethantkoenig@gmail.com>
Date: Tue, 14 Mar 2017 22:13:54 -0400
Subject: [PATCH] Fix nil-dereference bug

---
 modules/context/repo.go | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/modules/context/repo.go b/modules/context/repo.go
index 9e37ae3fbf7e..895640a8237a 100644
--- a/modules/context/repo.go
+++ b/modules/context/repo.go
@@ -219,7 +219,11 @@ func RepoAssignment(args ...bool) macaron.Handler {
 		if ctx.IsSigned && ctx.User.IsAdmin {
 			ctx.Repo.AccessMode = models.AccessModeOwner
 		} else {
-			mode, err := models.AccessLevel(ctx.User.ID, repo)
+			var userID int64
+			if ctx.User != nil {
+				userID = ctx.User.ID
+			}
+			mode, err := models.AccessLevel(userID, repo)
 			if err != nil {
 				ctx.Handle(500, "AccessLevel", err)
 				return