[issue31746] crashes in sqlite3.Connection in case it is uninitialized or partially initialized

2021-07-30 Thread Erlend E. Aasland


Change by Erlend E. Aasland :


--
resolution:  -> fixed
stage: patch review -> resolved
status: open -> closed

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue31746] crashes in sqlite3.Connection in case it is uninitialized or partially initialized

2021-07-30 Thread Łukasz Langa

Łukasz Langa  added the comment:


New changeset 0cb470e622ba37920c72e4d8f284741b9fbaea8b by Erlend Egeberg 
Aasland in branch '3.10':
[3.10] bpo-31746: Prevent segfaults when sqlite3.Connection is uninitialised 
(GH-27431). (GH-27472)
https://github.com/python/cpython/commit/0cb470e622ba37920c72e4d8f284741b9fbaea8b


--
nosy: +lukasz.langa
status: pending -> open

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue31746] crashes in sqlite3.Connection in case it is uninitialized or partially initialized

2021-07-30 Thread Erlend E. Aasland


Change by Erlend E. Aasland :


--
assignee:  -> erlendaasland
status: open -> pending
versions: +Python 3.10, Python 3.11, Python 3.9 -Python 3.7

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue31746] crashes in sqlite3.Connection in case it is uninitialized or partially initialized

2021-07-29 Thread Erlend E. Aasland


Change by Erlend E. Aasland :


--
pull_requests: +25991
pull_request: https://github.com/python/cpython/pull/27472

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue31746] crashes in sqlite3.Connection in case it is uninitialized or partially initialized

2021-07-29 Thread Pablo Galindo Salgado


Pablo Galindo Salgado  added the comment:


New changeset 0bc17658f5724ce60c3f75acc01e7526f1720efe by Erlend Egeberg 
Aasland in branch '3.9':
[3.9] bpo-31746: Prevent segfaults when sqlite3.Connection is uninitialised 
(GH-27431) (GH-27465)
https://github.com/python/cpython/commit/0bc17658f5724ce60c3f75acc01e7526f1720efe


--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue31746] crashes in sqlite3.Connection in case it is uninitialized or partially initialized

2021-07-29 Thread Pablo Galindo Salgado


Pablo Galindo Salgado  added the comment:


New changeset 2d34664051bd014d3b807e51ac7c53f37d90f444 by Erlend Egeberg 
Aasland in branch 'main':
bpo-31746: Fix broken call in GH-27431 (GH-27464)
https://github.com/python/cpython/commit/2d34664051bd014d3b807e51ac7c53f37d90f444


--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue31746] crashes in sqlite3.Connection in case it is uninitialized or partially initialized

2021-07-29 Thread Erlend E. Aasland


Change by Erlend E. Aasland :


--
pull_requests: +25988
pull_request: https://github.com/python/cpython/pull/27465

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue31746] crashes in sqlite3.Connection in case it is uninitialized or partially initialized

2021-07-29 Thread Erlend E. Aasland


Change by Erlend E. Aasland :


--
pull_requests: +25987
pull_request: https://github.com/python/cpython/pull/27464

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue31746] crashes in sqlite3.Connection in case it is uninitialized or partially initialized

2021-07-29 Thread Pablo Galindo Salgado


Change by Pablo Galindo Salgado :


--
pull_requests: +25986
pull_request: https://github.com/python/cpython/pull/27463

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue31746] crashes in sqlite3.Connection in case it is uninitialized or partially initialized

2021-07-29 Thread Pablo Galindo Salgado


Pablo Galindo Salgado  added the comment:


New changeset 7e311e496b0e26b3d3c62fe9b0ed2a4677c37ee9 by Erlend Egeberg 
Aasland in branch 'main':
bpo-31746: Prevent segfaults when sqlite3.Connection is uninitialised (GH-27431)
https://github.com/python/cpython/commit/7e311e496b0e26b3d3c62fe9b0ed2a4677c37ee9


--
nosy: +pablogsal

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue31746] crashes in sqlite3.Connection in case it is uninitialized or partially initialized

2021-07-28 Thread Erlend E. Aasland


Change by Erlend E. Aasland :


--
nosy: +erlendaasland
nosy_count: 1.0 -> 2.0
pull_requests: +25960
pull_request: https://github.com/python/cpython/pull/27431

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue31746] crashes in sqlite3.Connection in case it is uninitialized or partially initialized

2017-10-10 Thread Roundup Robot

Change by Roundup Robot :


--
keywords: +patch
pull_requests: +3920
stage:  -> patch review

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue31746] crashes in sqlite3.Connection in case it is uninitialized or partially initialized

2017-10-10 Thread Oren Milman

New submission from Oren Milman :

The following code causes a crash:
import sqlite3
connection = sqlite3.Connection.__new__(sqlite3.Connection)
connection.isolation_level

This is because pysqlite_connection_get_isolation_level() doesn't check whether
the Connection object is initialized.
pysqlite_connection_close() also doesn't check that, so we would get a crash
also if we replaced `connection.isolation_level` with `connection.close()`.

pysqlite_connection_set_isolation_level() doesn't crash in case of an
uninitialized Connection object, but it also doesn't raise an error, and IMHO
it should.


The following code causes a crash, too:
import sqlite3
try:
connection = sqlite3.Connection.__new__(sqlite3.Connection)
connection.__init__('', isolation_level='invalid isolation level')
except ValueError:
pass

connection.cursor()

This is because `self->initialized` is set to 1 in the beginning of
pysqlite_connection_init(), so after it fails, we are left with a partially
initialized Connection object whose `self->initialized` is 1. Thus,
pysqlite_connection_cursor() thinks that the Connection object is initialized.
Eventually pysqlite_connection_register_cursor() is called, and it crashes
while trying to append to `connection->cursors`, which is NULL.

--
components: Extension Modules
messages: 304047
nosy: Oren Milman
priority: normal
severity: normal
status: open
title: crashes in sqlite3.Connection in case it is uninitialized or partially 
initialized
type: crash
versions: Python 3.7

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com