diff options
| author | Erlend Egeberg Aasland <erlend.aasland@protonmail.com> | 2022-06-21 11:30:29 (GMT) |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-06-21 11:30:29 (GMT) |
| commit | 94eeac03dc8c643ff050e7d0d306637d9556f798 (patch) | |
| tree | 67841eed2486f1721454385bb67b6d3e2dc8a47f /Modules/_sqlite/cursor.c | |
| parent | 5fcfdd87c9b5066a581d3ccb4b2fede938f343ec (diff) | |
| download | cpython-94eeac03dc8c643ff050e7d0d306637d9556f798.zip cpython-94eeac03dc8c643ff050e7d0d306637d9556f798.tar.gz cpython-94eeac03dc8c643ff050e7d0d306637d9556f798.tar.bz2 | |
gh-94028: Clear and reset sqlite3 statements properly in cursor iternext (GH-94042)
Diffstat (limited to 'Modules/_sqlite/cursor.c')
| -rw-r--r-- | Modules/_sqlite/cursor.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/Modules/_sqlite/cursor.c b/Modules/_sqlite/cursor.c index 414584d..3f5cfef 100644 --- a/Modules/_sqlite/cursor.c +++ b/Modules/_sqlite/cursor.c @@ -1129,10 +1129,13 @@ pysqlite_cursor_iternext(pysqlite_Cursor *self) self->rowcount = (long)sqlite3_changes(self->connection->db); } (void)stmt_reset(self->statement); + Py_CLEAR(self->statement); } else if (rc != SQLITE_ROW) { (void)_pysqlite_seterror(self->connection->state, self->connection->db); + (void)stmt_reset(self->statement); + Py_CLEAR(self->statement); Py_DECREF(row); return NULL; } |
