From 8d946079c5f51ce934ff5edf6333962c6061d8a5 Mon Sep 17 00:00:00 2001
From: Florian Pritz <bluewind@xssn.at>
Date: Mon, 01 Feb 2010 16:55:37 +0000
Subject: ui-shared.c: fix segfault when repo is empty

PATH_INFO="/$REPONAME/commit/?id=1" QUERY_STRING="id=1" ./cgit.cgi
triggers segfault when the repository is empty and therefore
ctx.qry.head is unset

Signed-off-by: Florian Pritz <bluewind@xssn.at>
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
---
diff --git a/ui-shared.c b/ui-shared.c
index 4049a2b..8a7cc32 100644
--- a/ui-shared.c
+++ b/ui-shared.c
@@ -246,7 +246,7 @@ static void reporevlink(char *page, char *name, char *title, char *class,
 	char *delim;
 
 	delim = repolink(title, class, page, head, path);
-	if (rev && strcmp(rev, ctx.qry.head)) {
+	if (rev && ctx.qry.head != NULL && strcmp(rev, ctx.qry.head)) {
 		html(delim);
 		html("id=");
 		html_url_arg(rev);
@@ -346,7 +346,7 @@ void cgit_diff_link(char *name, char *title, char *class, char *head,
 	char *delim;
 
 	delim = repolink(title, class, "diff", head, path);
-	if (new_rev && strcmp(new_rev, ctx.qry.head)) {
+	if (new_rev && ctx.qry.head != NULL && strcmp(new_rev, ctx.qry.head)) {
 		html(delim);
 		html("id=");
 		html_url_arg(new_rev);
--
cgit v0.9.0.2