From 6d6471b7eb099fefc243b2fba3825979fad7cf6f Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Mon, 4 May 2026 16:06:00 +0200 Subject: [PATCH] [3.13] gh-148418: Fix a possible reference leak in a corrupted TYPE_CODE marshal stream (GH-148419) (GH-149364) (cherry picked from commit c3972f2795bf9270008d09dc6919b9735e20c606) Co-authored-by: Wulian233 <1055917385@qq.com> --- .../2026-04-12-10-40-57.gh-issue-148418.ggA1LZ.rst | 1 + Python/marshal.c | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 Misc/NEWS.d/next/Core_and_Builtins/2026-04-12-10-40-57.gh-issue-148418.ggA1LZ.rst diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-04-12-10-40-57.gh-issue-148418.ggA1LZ.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-04-12-10-40-57.gh-issue-148418.ggA1LZ.rst new file mode 100644 index 00000000000..793858be781 --- /dev/null +++ b/Misc/NEWS.d/next/Core_and_Builtins/2026-04-12-10-40-57.gh-issue-148418.ggA1LZ.rst @@ -0,0 +1 @@ +Fix a possible reference leak in a corrupted ``TYPE_CODE`` marshal stream. diff --git a/Python/marshal.c b/Python/marshal.c index c0eb5b4f3dd..18b827b866c 100644 --- a/Python/marshal.c +++ b/Python/marshal.c @@ -1487,7 +1487,7 @@ r_object(RFILE *p) goto code_error; firstlineno = (int)r_long(p); if (firstlineno == -1 && PyErr_Occurred()) - break; + goto code_error; linetable = r_object(p); if (linetable == NULL) goto code_error;