SIGN IN SIGN UP

[3.13] gh-145105: Fix crash in csv.reader with re-entrant iterator (GH-145106) (#148405)

gh-145105: Fix crash in csv.reader with re-entrant iterator (GH-145106)

When a custom iterator calls next() on the same csv.reader from
within __next__, the inner iteration sets self->fields to NULL.
The outer iteration then crashes in parse_save_field() by passing
NULL to PyList_Append.

Add a guard after PyIter_Next() to detect that fields was set to
NULL by a re-entrant call, and raise csv.Error instead of crashing.
(cherry picked from commit 20994b1809f9c162e4cae01a5af08bd492ede9f9)

Co-authored-by: Ramin Farajpour Cami <ramin.blackhat@gmail.com>
M
Miss Islington (bot) committed
8e369d364518d668898f2142f8daf402e2cd3ddc
Parent: a14e4e3
Committed by GitHub <noreply@github.com> on 4/11/2026, 10:44:45 PM