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