diff options
Diffstat (limited to '')
| -rw-r--r-- | ui-shared.c | 4 | 
1 files changed, 3 insertions, 1 deletions
| diff --git a/ui-shared.c b/ui-shared.c index d27a5fd..d2358f2 100644 --- a/ui-shared.c +++ b/ui-shared.c @@ -945,12 +945,13 @@ static void cgit_print_path_crumbs(char *path)  {  	char *old_path = ctx.qry.path;  	char *p = path, *q, *end = path + strlen(path); +	int levels = 0;  	ctx.qry.path = NULL;  	cgit_self_link("root", NULL, NULL);  	ctx.qry.path = p = path;  	while (p < end) { -		if (!(q = strchr(p, '/'))) +		if (!(q = strchr(p, '/')) || levels > 15)  			q = end;  		*q = '\0';  		html_txt("/"); @@ -958,6 +959,7 @@ static void cgit_print_path_crumbs(char *path)  		if (q < end)  			*q = '/';  		p = q + 1; +		++levels;  	}  	ctx.qry.path = old_path;  } | 
