Commit 85a12a8b authored by Victor Stinner's avatar Victor Stinner

Issue #19437: Fix pysqlite_cursor_iternext() of sqlite3, when the row factory

fails, don't consume the row (restore it) and fail immediatly (don't call
pysqlite_step())
parent b3e1ef1c
......@@ -871,10 +871,15 @@ PyObject* pysqlite_cursor_iternext(pysqlite_Cursor *self)
}
next_row_tuple = self->next_row;
assert(next_row_tuple != NULL);
self->next_row = NULL;
if (self->row_factory != Py_None) {
next_row = PyObject_CallFunction(self->row_factory, "OO", self, next_row_tuple);
if (next_row == NULL) {
self->next_row = next_row_tuple;
return NULL;
}
Py_DECREF(next_row_tuple);
} else {
next_row = next_row_tuple;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment