[3.13] gh-106287: Do not write objects after an unmarshalling error (GH-132715) (GH-143833)

Writing out an object may involve a slot lookup, which is not safe to do with
an exception raised. In debug mode an assertion failure will occur if this
happens.
(cherry picked from commit ce8f5f98c6)

Co-authored-by: Duane Griffin <duaneg@dghda.com>
This commit is contained in:
Miss Islington (bot) 2026-01-14 12:48:52 +01:00 committed by GitHub
parent 5f7a49a77b
commit 8c6d87693b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 25 additions and 0 deletions

View file

@ -362,6 +362,10 @@ w_object(PyObject *v, WFILE *p)
{
char flag = '\0';
if (p->error != WFERR_OK) {
return;
}
p->depth++;
if (p->depth > MAX_MARSHAL_STACK_DEPTH) {