[prev in list] [next in list] [prev in thread] [next in thread] 

List:       cgit
Subject:    [PATCH] Fix segmentation fault in empty repository
From:       john () metanate ! com (John Keeping)
Date:       2011-11-24 11:54:47
Message-ID: 1322135687-23478-1-git-send-email-john () metanate ! com
[Download RAW message or body]

When a repository is empty, the ATOM feed link is written in the header,
but this involves formatting ctx->qry.head which is NULL in this case.
With glibc, vsnprintf formats "%s" with a NULL input as "(null)" but on
Solaris this results in a segmentation fault.  Since we don't have a
meaningful head for the atom feed in an empty repository, it's simplest
not to write out the link element at all.

Signed-off-by: John Keeping <john at metanate.com>
---
 ui-shared.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/ui-shared.c b/ui-shared.c
index 5aa9119..d9d4149 100644
--- a/ui-shared.c
+++ b/ui-shared.c
@@ -613,7 +613,7 @@ void cgit_print_docstart(struct cgit_context *ctx)
 		html_attr(ctx->cfg.favicon);
 		html("'/>\n");
 	}
-	if (host && ctx->repo) {
+	if (host && ctx->repo && ctx->qry.head) {
 		html("<link rel='alternate' title='Atom feed' href='");
 		html(cgit_httpscheme());
 		html_attr(cgit_hosturl());
-- 
1.7.8.rc3




[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic