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:
부모
fd39489f4f
커밋
13d2b0b25c
@ -233,6 +233,9 @@ struct commitinfo *cgit_parse_commit(struct commit *commit)
|
|||||||
p = strchr(t, '\n') + 1;
|
p = strchr(t, '\n') + 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
while (*p && (*p != '\n'))
|
||||||
|
p = strchr(p, '\n') + 1; // skip unknown header fields
|
||||||
|
|
||||||
while (*p == '\n')
|
while (*p == '\n')
|
||||||
p = strchr(p, '\n') + 1;
|
p = strchr(p, '\n') + 1;
|
||||||
|
|
||||||
@ -292,6 +295,9 @@ struct taginfo *cgit_parse_tag(struct tag *tag)
|
|||||||
p = strchr(p, '\n') + 1;
|
p = strchr(p, '\n') + 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
while (p && *p && (*p != '\n'))
|
||||||
|
p = strchr(p, '\n') + 1; // skip unknown tag fields
|
||||||
|
|
||||||
while (p && (*p == '\n'))
|
while (p && (*p == '\n'))
|
||||||
p = strchr(p, '\n') + 1;
|
p = strchr(p, '\n') + 1;
|
||||||
if (p && *p)
|
if (p && *p)
|
||||||
|
불러오는 중...
Reference in New Issue
Block a user