On Wed, Jul 06, 2016 at 07:08:01AM +0000, Eric Wong wrote:
> Not sure if there's a better fix for this. defbranch is
> NULL here on my setup when a crawler hit an invalid URL,
> causing strcmp to segfault.
>
> Signed-off-by: Eric Wong <[email protected]>
> ---
> ui-shared.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/ui-shared.c b/ui-shared.c
> index b1a6c46..e39d004 100644
> --- a/ui-shared.c
> +++ b/ui-shared.c
> @@ -253,7 +253,7 @@ static char *repolink(const char *title, const char
> *class, const char *page,
> }
> delim = "&";
> }
> - if (head && strcmp(head, ctx.repo->defbranch)) {
> + if (head && ctx.repo->defbranch && strcmp(head, ctx.repo->defbranch)) {
This looks sensible to me. We guarantee that defbranch is non-null in
prepare_repo_cmd() but this function can be called from the repository
list via (at least) cgit_summary_link(), so it may be null here.
All of the other use sites are already protected by null checks except
the one reached via find_default_branch() but that is called immediately
after we have made sure that defbranch is non-null.
> html(delim);
> html("h=");
> html_url_arg(head);
> --
> EW
_______________________________________________
CGit mailing list
[email protected]
http://lists.zx2c4.com/mailman/listinfo/cgit