From 2a4a62ba4ae770bbc7b7fdec0760031c83fe1f7b Mon Sep 17 00:00:00 2001 From: Steve Dower Date: Mon, 4 Jun 2018 13:25:00 -0700 Subject: bpo-33720: Reduces maximum marshal recursion depth on release builds. (GH-7401) --- Python/marshal.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'Python') diff --git a/Python/marshal.c b/Python/marshal.c index e23daf6497..6d06266c6a 100644 --- a/Python/marshal.c +++ b/Python/marshal.c @@ -25,8 +25,14 @@ module marshal * and risks coring the interpreter. When the object stack gets this deep, * raise an exception instead of continuing. * On Windows debug builds, reduce this value. + * + * BUG: https://bugs.python.org/issue33720 + * On Windows PGO builds, the r_object function overallocates its stack and + * can cause a stack overflow. We reduce the maximum depth for all Windows + * releases to protect against this. + * #if defined(MS_WINDOWS) && defined(_DEBUG) */ -#if defined(MS_WINDOWS) && defined(_DEBUG) +#if defined(MS_WINDOWS) #define MAX_MARSHAL_STACK_DEPTH 1000 #else #define MAX_MARSHAL_STACK_DEPTH 2000 -- cgit v1.2.1