ui-shared: restrict to 15 levels
Perhaps a more ideal version of this would be to not print breadcrumbs at all for paths that don't exist in the given repo at the given oid. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> Reported-by: Fydor Wire Snark <wsnark@tuta.io>
This commit is contained in:
parent
bd0293f570
commit
54c407a74a
@ -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;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user