]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-69093: Don't allow instantiation of sqlite3.Blob objects (GH-91570)
authorErlend Egeberg Aasland <erlend.aasland@innova.no>
Fri, 15 Apr 2022 16:25:03 +0000 (18:25 +0200)
committerGitHub <noreply@github.com>
Fri, 15 Apr 2022 16:25:03 +0000 (09:25 -0700)
Lib/test/test_sqlite3/test_dbapi.py
Modules/_sqlite/blob.c

index 6613d5f0ea4bd51378952302593c404e2fbbda3c..b010813fff7c58cb524930fb74702a5e3ea1862c 100644 (file)
@@ -356,6 +356,7 @@ class ModuleTests(unittest.TestCase):
     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"))
index 821295cee813fdd0e2b39a7f68e00c749c32629e..c4f8be45b2f94196e522691abf9d8d03d9e21a9b 100644 (file)
@@ -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,
 };