[Python-checkins] gh-69093: Don't allow instantiation of sqlite3.Blob objects (GH-91570)

JelleZijlstra webhook-mailer at python.org
Fri Apr 15 12:25:12 EDT 2022


https://github.com/python/cpython/commit/d104f4d21f735693ea93fe65ea4b4e1aa1779343
commit: d104f4d21f735693ea93fe65ea4b4e1aa1779343
branch: main
author: Erlend Egeberg Aasland <erlend.aasland at innova.no>
committer: JelleZijlstra <jelle.zijlstra at gmail.com>
date: 2022年04月15日T09:25:03-07:00
summary:
gh-69093: Don't allow instantiation of sqlite3.Blob objects (GH-91570)
files:
M Lib/test/test_sqlite3/test_dbapi.py
M Modules/_sqlite/blob.c
diff --git a/Lib/test/test_sqlite3/test_dbapi.py b/Lib/test/test_sqlite3/test_dbapi.py
index 6613d5f0ea4bd..b010813fff7c5 100644
--- a/Lib/test/test_sqlite3/test_dbapi.py
+++ b/Lib/test/test_sqlite3/test_dbapi.py
@@ -356,6 +356,7 @@ def test_shared_cache_deprecated(self):
 def test_disallow_instantiation(self):
 cx = sqlite.connect(":memory:")
 check_disallow_instantiation(self, type(cx("select 1")))
+ check_disallow_instantiation(self, sqlite.Blob)
 
 def test_complete_statement(self):
 self.assertFalse(sqlite.complete_statement("select t"))
diff --git a/Modules/_sqlite/blob.c b/Modules/_sqlite/blob.c
index 821295cee813f..c4f8be45b2f94 100644
--- a/Modules/_sqlite/blob.c
+++ b/Modules/_sqlite/blob.c
@@ -334,7 +334,7 @@ static PyType_Spec blob_spec = {
 .name = MODULE_NAME ".Blob",
 .basicsize = sizeof(pysqlite_Blob),
 .flags = (Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC |
- Py_TPFLAGS_IMMUTABLETYPE),
+ Py_TPFLAGS_IMMUTABLETYPE | Py_TPFLAGS_DISALLOW_INSTANTIATION),
 .slots = blob_slots,
 };
 


More information about the Python-checkins mailing list

AltStyle によって変換されたページ (->オリジナル) /