summaryrefslogtreecommitdiffstats
path: root/development/cgit/patches/0005-ui-patch-fix-crash-when-using-path-limit.patch
blob: 2339129069b51edb5c275d4bb7a4e3fa43869336 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
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