-
-
Notifications
You must be signed in to change notification settings - Fork 32k
Segfault if pysqlite_Row->description == PyNone
#129603
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Labels
extension-modules
C modules in the Modules dir
topic-sqlite3
type-crash
A hard crash of the interpreter, possibly with a core dump
Comments
erlend-aasland
added a commit
to erlend-aasland/cpython
that referenced
this issue
Feb 3, 2025
erlend-aasland
added a commit
to erlend-aasland/cpython
that referenced
this issue
Feb 3, 2025
erlend-aasland
added a commit
that referenced
this issue
Feb 9, 2025
This was referenced Feb 9, 2025
erlend-aasland
added a commit
to erlend-aasland/cpython
that referenced
this issue
Feb 9, 2025
…None (python#129604) (cherry picked from commit 7e6ee50)
erlend-aasland
added a commit
that referenced
this issue
Feb 10, 2025
erlend-aasland
added a commit
that referenced
this issue
Feb 10, 2025
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
extension-modules
C modules in the Modules dir
topic-sqlite3
type-crash
A hard crash of the interpreter, possibly with a core dump
Uh oh!
There was an error while loading. Please reload this page.
Crash report
What happened?
Most of the code in
Modules/_sqlite/row.c
assumes->description
is a tuple. However, it may beNone
. Since it is possible to craft asqlite3.Row
object "by hand", it is easy to provoke segfauls for paths that involve thePyTuple
API anddescription == Py_None
. Any real code would never directly instantiate a row object; it would be implicitly created by the cursor (via the.fetch*()
APIs or by iterating on the cursor). However, I don't think we should let a possible segfault hang around.CPython versions tested on:
3.14, 3.13, 3.12, CPython main branch
Operating systems tested on:
macOS
Output from running 'python -VV' on the command line:
No response
Linked PRs
The text was updated successfully, but these errors were encountered: