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:
		| @@ -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; | ||||
| } | ||||
|   | ||||
		Viittaa uudesa ongelmassa
	
	Block a user
	 Jason A. Donenfeld
					Jason A. Donenfeld