From e01f1403b9b501c563b1fe0e0052460a95945528 Mon Sep 17 00:00:00 2001 From: Lars Hjemli Date: Mon, 17 Mar 2008 23:13:16 +0100 Subject: 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 --- ui-patch.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'ui-patch.c') diff --git a/ui-patch.c b/ui-patch.c index e7a010a..7ee2c41 100644 --- a/ui-patch.c +++ b/ui-patch.c @@ -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); -- cgit v1.2.3