Fix segfault in patch view for root commit
The code for patch view assumed the current commit would always have a parent, which made cgit segfault when that wasn't the case. This fixes the bug and adds a test-script for patch view which includes a test for the inital commit. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
This commit is contained in:
@ -88,7 +88,11 @@ void cgit_print_patch(char *hex, struct cacheitem *item)
|
||||
return;
|
||||
}
|
||||
info = cgit_parse_commit(commit);
|
||||
hashcpy(old_sha1, commit->parents->item->object.sha1);
|
||||
|
||||
if (commit->parents && commit->parents->item)
|
||||
hashcpy(old_sha1, commit->parents->item->object.sha1);
|
||||
else
|
||||
hashclr(old_sha1);
|
||||
|
||||
patchname = fmt("%s.patch", sha1_to_hex(sha1));
|
||||
cgit_print_snapshot_start("text/plain", patchname, item);
|
||||
|
Посилання в новій задачі
Block a user