]> granicus.if.org Git - python/commitdiff
Fixing #880531: raise TypeError when trying to use a None key with RECNO
authorGustavo Niemeyer <gustavo@niemeyer.net>
Tue, 20 Jan 2004 15:14:55 +0000 (15:14 +0000)
committerGustavo Niemeyer <gustavo@niemeyer.net>
Tue, 20 Jan 2004 15:14:55 +0000 (15:14 +0000)
or QUEUE database.

Modules/_bsddb.c

index b86cd7823186a99b6f30754850432a56846af38c..ba6af27e868dc12c98938607c82c8826cd412553 100644 (file)
@@ -349,6 +349,13 @@ make_key_dbt(DBObject* self, PyObject* keyobj, DBT* key, int* pflags)
 
     CLEAR_DBT(*key);
     if (keyobj == Py_None) {  /* TODO: is None really okay for keys? */
+        type = _DB_get_type(self);
+        if (type == DB_RECNO || type == DB_QUEUE) {
+            PyErr_SetString(
+                PyExc_TypeError,
+                "None keys not allowed for Recno and Queue DB's");
+            return 0;
+        }
         /* no need to do anything, the structure has already been zeroed */
     }