aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/perl/perl/fixes/CVE-2018-6797-testcase.diff
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-devtools/perl/perl/fixes/CVE-2018-6797-testcase.diff')
-rw-r--r--meta/recipes-devtools/perl/perl/fixes/CVE-2018-6797-testcase.diff33
1 files changed, 33 insertions, 0 deletions
diff --git a/meta/recipes-devtools/perl/perl/fixes/CVE-2018-6797-testcase.diff b/meta/recipes-devtools/perl/perl/fixes/CVE-2018-6797-testcase.diff
new file mode 100644
index 0000000000..5f662dfb57
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl/fixes/CVE-2018-6797-testcase.diff
@@ -0,0 +1,33 @@
+From 0e201824c24919ad8f3570b15b0a3eab40166f8e Mon Sep 17 00:00:00 2001
+From: Karl Williamson <khw@cpan.org>
+Date: Fri, 2 Feb 2018 15:14:27 -0700
+Subject: [PATCH] (perl #132227) restart a node if we change to uni rules
+ within the node and encounter a sharp S
+
+This could lead to a buffer overflow.
+
+Test case backported from the corresponding blead fix by Niko Tyni.
+
+Origin: backport
+Bug: https://rt.perl.org/Public/Bug/Display.html?id=132227
+Patch-Name: fixes/CVE-2018-6797-testcase.diff
+
+---
+ t/re/pat_advanced.t | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/t/re/pat_advanced.t b/t/re/pat_advanced.t
+index 5e5cc1f..27df550 100644
+--- a/t/re/pat_advanced.t
++++ b/t/re/pat_advanced.t
+@@ -2336,6 +2336,10 @@ EOF
+ unlike("s\N{U+DF}", qr/^\x{00DF}/i, "\"s\\N{U+DF}\", qr/^\\x{00DF}/i");
+ }
+
++ { # Bug #132227, caused failed assertion
++ ok(qr/0b\N{U+41}\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF\xDF/i, "No seqgfault [perl #132227]");
++ }
++
+ # User-defined Unicode properties to match above-Unicode code points
+ sub Is_32_Bit_Super { return "110000\tFFFFFFFF\n" }
+ sub Is_Portable_Super { return '!utf8::Any' } # Matches beyond 32 bits