Skip unknown header fields when parsing tags and commits
Both the commit- and tagparser failed to handle unexpected header fields. This adds futureproofing by simply skipping any header we don't know/care about. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
This commit is contained in:
		@@ -233,6 +233,9 @@ struct commitinfo *cgit_parse_commit(struct commit *commit)
 | 
			
		||||
		p = strchr(t, '\n') + 1;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	while (*p && (*p != '\n'))
 | 
			
		||||
		p = strchr(p, '\n') + 1; // skip unknown header fields
 | 
			
		||||
 | 
			
		||||
	while (*p == '\n')
 | 
			
		||||
		p = strchr(p, '\n') + 1;
 | 
			
		||||
 | 
			
		||||
@@ -292,6 +295,9 @@ struct taginfo *cgit_parse_tag(struct tag *tag)
 | 
			
		||||
		p = strchr(p, '\n') + 1;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	while (p && *p && (*p != '\n'))
 | 
			
		||||
		p = strchr(p, '\n') + 1; // skip unknown tag fields
 | 
			
		||||
 | 
			
		||||
	while (p && (*p == '\n'))
 | 
			
		||||
		p = strchr(p, '\n') + 1;
 | 
			
		||||
	if (p && *p)
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user