tools: patch: Add missing CVE-2018-6951 fix
[openwrt/openwrt.git] / tools / patch / patches / 030-CVE-2018-6952.patch
diff --git a/tools/patch/patches/030-CVE-2018-6952.patch b/tools/patch/patches/030-CVE-2018-6952.patch
new file mode 100644 (file)
index 0000000..36b58c7
--- /dev/null
@@ -0,0 +1,25 @@
+From df40f2ea17254de269a3624319a12a93a4e395ff Mon Sep 17 00:00:00 2001
+From: Andreas Gruenbacher <agruen@gnu.org>
+Date: Fri, 17 Aug 2018 13:35:40 +0200
+Subject: [PATCH] Fix swapping fake lines in pch_swap
+
+* src/pch.c (pch_swap): Fix swapping p_bfake and p_efake when there is a
+blank line in the middle of a context-diff hunk: that empty line stays
+in the middle of the hunk and isn't swapped.
+
+Fixes: https://savannah.gnu.org/bugs/index.php?53133
+---
+ src/pch.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/src/pch.c
++++ b/src/pch.c
+@@ -2115,7 +2115,7 @@ pch_swap (void)
+     }
+     if (p_efake >= 0) {                       /* fix non-freeable ptr range */
+       if (p_efake <= i)
+-          n = p_end - i + 1;
++          n = p_end - p_ptrn_lines;
+       else
+           n = -i;
+       p_efake += n;