aboutsummaryrefslogtreecommitdiffstats
path: root/ui-shared.c
diff options
context:
space:
mode:
authorGravatar John Keeping <john@metanate.com>2011-11-24 20:54:47 (JST)
committerGravatar Lars Hjemli <hjemli@gmail.com>2012-01-04 06:00:30 (JST)
commit94b7c76e531315b245f79a9e2dfd0655e6e45fee (patch)
tree3fa4bac9eb6a30ede630fbbdc11877dbd85c6e0e /ui-shared.c
parentfbd254d54e28e002a0d56b81c192156599df1e6b (diff)
downloadcgit-94b7c76e531315b245f79a9e2dfd0655e6e45fee.zip
cgit-94b7c76e531315b245f79a9e2dfd0655e6e45fee.tar.gz
Fix segmentation fault in empty repository
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@metanate.com>
Diffstat (limited to 'ui-shared.c')
-rw-r--r--ui-shared.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/ui-shared.c b/ui-shared.c
index 85c2096..3e9282f 100644
--- a/ui-shared.c
+++ b/ui-shared.c
@@ -619,7 +619,7 @@ void cgit_print_docstart(struct cgit_context *ctx)
619 html_attr(ctx->cfg.favicon); 619 html_attr(ctx->cfg.favicon);
620 html("'/>\n"); 620 html("'/>\n");
621 } 621 }
622 if (host && ctx->repo) { 622 if (host && ctx->repo && ctx->qry.head) {
623 html("<link rel='alternate' title='Atom feed' href='"); 623 html("<link rel='alternate' title='Atom feed' href='");
624 html(cgit_httpscheme()); 624 html(cgit_httpscheme());
625 html_attr(cgit_hosturl()); 625 html_attr(cgit_hosturl());