pcre2/backport-fix-CVE-2022-41409.patch
yangmingtai 0c09e7afb0 fix CVE-2022-41409
(cherry picked from commit 59146bcde9aa2d2b8966dde296a3c2c2489ef209)
2023-07-31 20:27:49 +08:00

60 lines
1.5 KiB
Diff

From 94e1c001761373b7d9450768aa15d04c25547a35 Mon Sep 17 00:00:00 2001
From: Philip Hazel <Philip.Hazel@gmail.com>
Date: Tue, 16 Aug 2022 17:00:45 +0100
Subject: [PATCH] Diagnose negative repeat value in pcre2test subject line
Conflict:delete ChangeLog
Reference:https://github.com/PCRE2Project/pcre2/commit/94e1c001761373b7d9450768aa15d04c25547a35
---
src/pcre2test.c | 4 ++--
testdata/testinput2 | 3 +++
testdata/testoutput2 | 4 ++++
3 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/src/pcre2test.c b/src/pcre2test.c
index 11ec3ca..526aba8 100644
--- a/src/pcre2test.c
+++ b/src/pcre2test.c
@@ -6766,9 +6766,9 @@ while ((c = *p++) != 0)
}
i = (int32_t)li;
- if (i-- == 0)
+ if (i-- <= 0)
{
- fprintf(outfile, "** Zero repeat not allowed\n");
+ fprintf(outfile, "** Zero or negative repeat not allowed\n");
return PR_OK;
}
diff --git a/testdata/testinput2 b/testdata/testinput2
index 731a64a..2bce985 100644
--- a/testdata/testinput2
+++ b/testdata/testinput2
@@ -5902,4 +5902,7 @@ a)"xI
# ---------
+--
+ \[X]{-10}
+
# End of testinput2
diff --git a/testdata/testoutput2 b/testdata/testoutput2
index 7479a0e..9acd5e6 100644
--- a/testdata/testoutput2
+++ b/testdata/testoutput2
@@ -17674,6 +17674,10 @@ Failed: error 199 at offset 14: \K is not allowed in lookarounds (but see PCRE2_
# ---------
+--
+ \[X]{-10}
+** Zero or negative repeat not allowed
+
# End of testinput2
Error -70: PCRE2_ERROR_BADDATA (unknown error number)
Error -62: bad serialized data
--
2.27.0