6c1aee8
commit f290f48a621867084884bfff87f8093c15195e6a
6c1aee8
Author: Andreas Gruenbacher <agruen@gnu.org>
6c1aee8
Date:   Mon Feb 12 16:48:24 2018 +0100
6c1aee8
6c1aee8
    Fix segfault with mangled rename patch
6c1aee8
    
6c1aee8
    http://savannah.gnu.org/bugs/?53132
6c1aee8
    * src/pch.c (intuit_diff_type): Ensure that two filenames are specified
6c1aee8
    for renames and copies (fix the existing check).
6c1aee8
6c1aee8
diff --git a/src/pch.c b/src/pch.c
6c1aee8
index ff9ed2c..bc6278c 100644
6c1aee8
--- a/src/pch.c
6c1aee8
+++ b/src/pch.c
6c1aee8
@@ -974,7 +974,8 @@ intuit_diff_type (bool need_header, mode_t *p_file_type)
6c1aee8
     if ((pch_rename () || pch_copy ())
6c1aee8
 	&& ! inname
6c1aee8
 	&& ! ((i == OLD || i == NEW) &&
6c1aee8
-	      p_name[! reverse] &&
6c1aee8
+	      p_name[reverse] && p_name[! reverse] &&
6c1aee8
+	      name_is_valid (p_name[reverse]) &&
6c1aee8
 	      name_is_valid (p_name[! reverse])))
6c1aee8
       {
6c1aee8
 	say ("Cannot %s file without two valid file names\n", pch_rename () ? "rename" : "copy");