]> git.cameronkatri.com Git - cgit.git/commitdiff
Fix segmentation fault in empty repository
authorJohn Keeping <john@metanate.com>
Thu, 24 Nov 2011 11:54:47 +0000 (11:54 +0000)
committerLars Hjemli <hjemli@gmail.com>
Tue, 3 Jan 2012 21:00:30 +0000 (21:00 +0000)
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>
ui-shared.c

index 85c20964b1b1f8778022c4aa281caf187fcc738b..3e9282f35c0e032251b26ab00bd7f35e3bb7aee0 100644 (file)
@@ -619,7 +619,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());