Rebased from upstream / out of band repository.
[librecmc/librecmc.git] / tools / patch / patches / 030-CVE-2018-6952.patch
1 From df40f2ea17254de269a3624319a12a93a4e395ff Mon Sep 17 00:00:00 2001
2 From: Andreas Gruenbacher <agruen@gnu.org>
3 Date: Fri, 17 Aug 2018 13:35:40 +0200
4 Subject: [PATCH] Fix swapping fake lines in pch_swap
5
6 * src/pch.c (pch_swap): Fix swapping p_bfake and p_efake when there is a
7 blank line in the middle of a context-diff hunk: that empty line stays
8 in the middle of the hunk and isn't swapped.
9
10 Fixes: https://savannah.gnu.org/bugs/index.php?53133
11 ---
12  src/pch.c | 2 +-
13  1 file changed, 1 insertion(+), 1 deletion(-)
14
15 --- a/src/pch.c
16 +++ b/src/pch.c
17 @@ -2115,7 +2115,7 @@ pch_swap (void)
18      }
19      if (p_efake >= 0) {                        /* fix non-freeable ptr range */
20         if (p_efake <= i)
21 -           n = p_end - i + 1;
22 +           n = p_end - p_ptrn_lines;
23         else
24             n = -i;
25         p_efake += n;