11fd378f73
fixes #39045
29 lines
980 B
Diff
29 lines
980 B
Diff
From f290f48a621867084884bfff87f8093c15195e6a Mon Sep 17 00:00:00 2001
|
|
From: Andreas Gruenbacher <agruen@gnu.org>
|
|
Date: Mon, 12 Feb 2018 16:48:24 +0100
|
|
Subject: Fix segfault with mangled rename patch
|
|
|
|
http://savannah.gnu.org/bugs/?53132
|
|
* src/pch.c (intuit_diff_type): Ensure that two filenames are specified
|
|
for renames and copies (fix the existing check).
|
|
---
|
|
src/pch.c | 3 ++-
|
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/src/pch.c b/src/pch.c
|
|
index ff9ed2c..bc6278c 100644
|
|
--- a/src/pch.c
|
|
+++ b/src/pch.c
|
|
@@ -974,7 +974,8 @@ intuit_diff_type (bool need_header, mode_t *p_file_type)
|
|
if ((pch_rename () || pch_copy ())
|
|
&& ! inname
|
|
&& ! ((i == OLD || i == NEW) &&
|
|
- p_name[! reverse] &&
|
|
+ p_name[reverse] && p_name[! reverse] &&
|
|
+ name_is_valid (p_name[reverse]) &&
|
|
name_is_valid (p_name[! reverse])))
|
|
{
|
|
say ("Cannot %s file without two valid file names\n", pch_rename () ? "rename" : "copy");
|
|
--
|
|
cgit v1.0-41-gc330
|