cgit

commit 13d2b0b25cf19de03c7cdcf8bb708be1168aeda7

Author: Lars Hjemli <hjemli@gmail.com>

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>

 parsing.c | 6 ++++++


diff --git a/parsing.c b/parsing.c
index 2c05c0939ff34547ad6f6ee71fb37cbdc30066c8..ddbafd5df4cb5221da407ffd9c566afb0c69f8d2 100644
--- a/parsing.c
+++ b/parsing.c
@@ -233,6 +233,9 @@ 		ret->committer_date = atol(++t);
 		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;
 
@@ -291,6 +294,9 @@ 			ret->tagger_date = atol(++t);
 		}
 		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;