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 10Upstream-Status: Backport [http://git.savannah.gnu.org/cgit/patch.git/commit/?id=f290f48a621867084884bfff87f8093c15195e6a] 11CVE: CVE-2018-6951 12 13Signed-off-by: Jackie Huang <jackie.huang@windriver.com> 14 15--- 16 src/pch.c | 3 ++- 17 1 file changed, 2 insertions(+), 1 deletion(-) 18 19diff --git a/src/pch.c b/src/pch.c 20index ff9ed2c..bc6278c 100644 21--- a/src/pch.c 22+++ b/src/pch.c 23@@ -974,7 +974,8 @@ intuit_diff_type (bool need_header, mode_t *p_file_type) 24 if ((pch_rename () || pch_copy ()) 25 && ! inname 26 && ! ((i == OLD || i == NEW) && 27- p_name[! reverse] && 28+ p_name[reverse] && p_name[! reverse] && 29+ name_is_valid (p_name[reverse]) && 30 name_is_valid (p_name[! reverse]))) 31 { 32 say ("Cannot %s file without two valid file names\n", pch_rename () ? "rename" : "copy"); 33-- 342.7.4 35 36