blob: eb8d51365c7617c10097079d6c61dd9135d5907a [file] [log] [blame]
b.liue9582032025-04-17 19:18:16 +08001From 9bf998b5fcbcde1dea0e472dc1538abb97e9012e 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---
10 src/pch.c | 3 ++-
11 1 file changed, 2 insertions(+), 1 deletion(-)
12
13--- a/src/pch.c
14+++ b/src/pch.c
15@@ -974,7 +974,8 @@ intuit_diff_type (bool need_header, mode
16 if ((pch_rename () || pch_copy ())
17 && ! inname
18 && ! ((i == OLD || i == NEW) &&
19- p_name[! reverse] &&
20+ p_name[reverse] && p_name[! reverse] &&
21+ name_is_valid (p_name[reverse]) &&
22 name_is_valid (p_name[! reverse])))
23 {
24 say ("Cannot %s file without two valid file names\n", pch_rename () ? "rename" : "copy");