xref: /OK3568_Linux_fs/buildroot/package/patch/0001-Fix-segfault-with-mangled-rename-patch.patch (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1From f290f48a621867084884bfff87f8093c15195e6a Mon Sep 17 00:00:00 2001
2From: Andreas Gruenbacher <agruen@gnu.org>
3Date: Mon, 12 Feb 2018 16:48:24 +0100
4Subject: [PATCH] Fix segfault with mangled rename patch
5
6http://savannah.gnu.org/bugs/?53132
7* src/pch.c (intuit_diff_type): Ensure that two filenames are specified
8for renames and copies (fix the existing check).
9
10Signed-off-by: Baruch Siach <baruch@tkos.co.il>
11---
12Patch status: upstream commit f290f48a6218
13
14 src/pch.c | 3 ++-
15 1 file changed, 2 insertions(+), 1 deletion(-)
16
17diff --git a/src/pch.c b/src/pch.c
18index ff9ed2cebb8a..bc6278c4032c 100644
19--- a/src/pch.c
20+++ b/src/pch.c
21@@ -974,7 +974,8 @@ intuit_diff_type (bool need_header, mode_t *p_file_type)
22     if ((pch_rename () || pch_copy ())
23 	&& ! inname
24 	&& ! ((i == OLD || i == NEW) &&
25-	      p_name[! reverse] &&
26+	      p_name[reverse] && p_name[! reverse] &&
27+	      name_is_valid (p_name[reverse]) &&
28 	      name_is_valid (p_name[! reverse])))
29       {
30 	say ("Cannot %s file without two valid file names\n", pch_rename () ? "rename" : "copy");
31--
322.16.1
33
34