From 4174da45a36fdf2f65914f22865dcc48433554c2 Mon Sep 17 00:00:00 2001 From: Robby Workman Date: Thu, 24 Aug 2017 19:22:28 -0500 Subject: development/cgit: Include some upstream git patches Some general bugfixes, but more importantly, patch 0005 fixes a segfault in git's pathspec.c that we were seeing on the SBo git server. Thanks to John Keeping (cgit contributor) for helping with debug suggestions and identifying the specific commit we needed to fix it. Signed-off-by: Robby Workman --- ...-ui-patch-fix-crash-when-using-path-limit.patch | 43 ++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 development/cgit/patches/0005-ui-patch-fix-crash-when-using-path-limit.patch (limited to 'development/cgit/patches/0005-ui-patch-fix-crash-when-using-path-limit.patch') diff --git a/development/cgit/patches/0005-ui-patch-fix-crash-when-using-path-limit.patch b/development/cgit/patches/0005-ui-patch-fix-crash-when-using-path-limit.patch new file mode 100644 index 0000000000..2339129069 --- /dev/null +++ b/development/cgit/patches/0005-ui-patch-fix-crash-when-using-path-limit.patch @@ -0,0 +1,43 @@ +From be39d22328f841536b8e44e8aaeed80a74ebb353 Mon Sep 17 00:00:00 2001 +From: Lukas Fleischer +Date: Thu, 24 Nov 2016 20:14:54 +0100 +Subject: [PATCH 05/15] ui-patch: fix crash when using path limit + +The array passed to setup_revisions() must be NULL-terminated. Fixes a +regression introduced in 455b598 (ui-patch.c: Use log_tree_commit() to +generate diffs, 2013-08-20). + +Reported-by: Florian Pritz +Signed-off-by: Lukas Fleischer +--- + ui-patch.c | 7 +++---- + 1 file changed, 3 insertions(+), 4 deletions(-) + +diff --git a/ui-patch.c b/ui-patch.c +index ec7f352..047e2f9 100644 +--- a/ui-patch.c ++++ b/ui-patch.c +@@ -18,8 +18,8 @@ void cgit_print_patch(const char *new_rev, const char *old_rev, + struct commit *commit; + struct object_id new_rev_oid, old_rev_oid; + char rev_range[2 * 40 + 3]; +- const char *rev_argv[] = { NULL, "--reverse", "--format=email", rev_range, "--", prefix }; +- int rev_argc = ARRAY_SIZE(rev_argv); ++ const char *rev_argv[] = { NULL, "--reverse", "--format=email", rev_range, "--", prefix, NULL }; ++ int rev_argc = ARRAY_SIZE(rev_argv) - 1; + char *patchname; + + if (!prefix) +@@ -85,8 +85,7 @@ void cgit_print_patch(const char *new_rev, const char *old_rev, + DIFF_FORMAT_PATCH | DIFF_FORMAT_SUMMARY; + if (prefix) + rev.diffopt.stat_sep = fmt("(limited to '%s')\n\n", prefix); +- setup_revisions(ARRAY_SIZE(rev_argv), rev_argv, &rev, +- NULL); ++ setup_revisions(rev_argc, rev_argv, &rev, NULL); + prepare_revision_walk(&rev); + + while ((commit = get_revision(&rev)) != NULL) { +-- +2.14.1 + -- cgit v1.2.3