From 024f2de05f1dc5b8573f98426aa11bb9b07cc55e Mon Sep 17 00:00:00 2001 From: Gustavo Niemeyer Date: Tue, 20 Jan 2004 15:14:55 +0000 Subject: Fixing #880531: raise TypeError when trying to use a None key with RECNO or QUEUE database. --- Modules/_bsddb.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Modules/_bsddb.c b/Modules/_bsddb.c index b86cd78..ba6af27 100644 --- a/Modules/_bsddb.c +++ b/Modules/_bsddb.c @@ -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 */ } -- cgit v0.12