summaryrefslogtreecommitdiffstats
path: root/development/cgit/patches/0005-ui-patch-fix-crash-when-using-path-limit.patch
diff options
context:
space:
mode:
Diffstat (limited to 'development/cgit/patches/0005-ui-patch-fix-crash-when-using-path-limit.patch')
-rw-r--r--development/cgit/patches/0005-ui-patch-fix-crash-when-using-path-limit.patch43
1 files changed, 43 insertions, 0 deletions
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 <lfleischer@lfos.de>
+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 <bluewind@xinu.at>
+Signed-off-by: Lukas Fleischer <lfleischer@lfos.de>
+---
+ 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
+