summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Modules/_xxtestfuzz/fuzzer.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/Modules/_xxtestfuzz/fuzzer.c b/Modules/_xxtestfuzz/fuzzer.c
index fb0c191d2c..37d4028248 100644
--- a/Modules/_xxtestfuzz/fuzzer.c
+++ b/Modules/_xxtestfuzz/fuzzer.c
@@ -526,13 +526,20 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
#if !defined(_Py_FUZZ_ONE) || defined(_Py_FUZZ_fuzz_sre_compile)
static int SRE_COMPILE_INITIALIZED = 0;
if (!SRE_COMPILE_INITIALIZED && !init_sre_compile()) {
- PyErr_Print();
- abort();
+ if (!PyErr_ExceptionMatches(PyExc_DeprecationWarning)) {
+ PyErr_Print();
+ abort();
+ }
+ else {
+ PyErr_Clear();
+ }
} else {
SRE_COMPILE_INITIALIZED = 1;
}
- rv |= _run_fuzz(data, size, fuzz_sre_compile);
+ if (SRE_COMPILE_INITIALIZED) {
+ rv |= _run_fuzz(data, size, fuzz_sre_compile);
+ }
#endif
#if !defined(_Py_FUZZ_ONE) || defined(_Py_FUZZ_fuzz_sre_match)
static int SRE_MATCH_INITIALIZED = 0;