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>
这个提交包含在:
父节点
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)
|
||||||
|
正在加载...
在新工单中引用
屏蔽一个用户