1*4882a593SmuzhiyunFrom 9c986353e420ead6e706262bf204d6e03322c300 Mon Sep 17 00:00:00 2001
2*4882a593SmuzhiyunFrom: Andreas Gruenbacher <agruen@gnu.org>
3*4882a593SmuzhiyunDate: Fri, 17 Aug 2018 13:35:40 +0200
4*4882a593SmuzhiyunSubject: [PATCH] Fix swapping fake lines in pch_swap
5*4882a593Smuzhiyun
6*4882a593Smuzhiyun* src/pch.c (pch_swap): Fix swapping p_bfake and p_efake when there is a
7*4882a593Smuzhiyunblank line in the middle of a context-diff hunk: that empty line stays
8*4882a593Smuzhiyunin the middle of the hunk and isn't swapped.
9*4882a593Smuzhiyun
10*4882a593SmuzhiyunFixes: https://savannah.gnu.org/bugs/index.php?53133
11*4882a593SmuzhiyunSigned-off-by: Andreas Gruenbacher <agruen@gnu.org>
12*4882a593Smuzhiyun
13*4882a593SmuzhiyunUpstream-Status: Backport [https://git.savannah.gnu.org/git/patch.git]
14*4882a593SmuzhiyunCVE: CVE-2018-6952
15*4882a593SmuzhiyunSigned-off-by: Hongxu Jia <hongxu.jia@windriver.com>
16*4882a593Smuzhiyun
17*4882a593Smuzhiyun---
18*4882a593Smuzhiyun src/pch.c | 2 +-
19*4882a593Smuzhiyun 1 file changed, 1 insertion(+), 1 deletion(-)
20*4882a593Smuzhiyun
21*4882a593Smuzhiyundiff --git a/src/pch.c b/src/pch.c
22*4882a593Smuzhiyunindex e92bc64..a500ad9 100644
23*4882a593Smuzhiyun--- a/src/pch.c
24*4882a593Smuzhiyun+++ b/src/pch.c
25*4882a593Smuzhiyun@@ -2122,7 +2122,7 @@ pch_swap (void)
26*4882a593Smuzhiyun     }
27*4882a593Smuzhiyun     if (p_efake >= 0) {			/* fix non-freeable ptr range */
28*4882a593Smuzhiyun 	if (p_efake <= i)
29*4882a593Smuzhiyun-	    n = p_end - i + 1;
30*4882a593Smuzhiyun+	    n = p_end - p_ptrn_lines;
31*4882a593Smuzhiyun 	else
32*4882a593Smuzhiyun 	    n = -i;
33*4882a593Smuzhiyun 	p_efake += n;
34*4882a593Smuzhiyun--
35*4882a593Smuzhiyun2.10.2
36*4882a593Smuzhiyun
37