@@ -949,8 +949,7 @@ newDBObject(DBEnvObject* arg, int flags)
949949 * DBTxns and closing any open DBs first. */
950950 if (makeDBError (err )) {
951951 if (self -> myenvobj ) {
952- Py_DECREF (self -> myenvobj );
953- self -> myenvobj = NULL ;
952+ Py_CLEAR (self -> myenvobj );
954953 }
955954 Py_DECREF (self );
956955 self = NULL ;
@@ -982,20 +981,16 @@ DB_dealloc(DBObject* self)
982981 PyObject_ClearWeakRefs ((PyObject * ) self );
983982 }
984983 if (self -> myenvobj ) {
985- Py_DECREF (self -> myenvobj );
986- self -> myenvobj = NULL ;
984+ Py_CLEAR (self -> myenvobj );
987985 }
988986 if (self -> associateCallback != NULL ) {
989- Py_DECREF (self -> associateCallback );
990- self -> associateCallback = NULL ;
987+ Py_CLEAR (self -> associateCallback );
991988 }
992989 if (self -> btCompareCallback != NULL ) {
993- Py_DECREF (self -> btCompareCallback );
994- self -> btCompareCallback = NULL ;
990+ Py_CLEAR (self -> btCompareCallback );
995991 }
996992 if (self -> dupCompareCallback != NULL ) {
997- Py_DECREF (self -> dupCompareCallback );
998- self -> dupCompareCallback = NULL ;
993+ Py_CLEAR (self -> dupCompareCallback );
999994 }
1000995 Py_DECREF (self -> private_obj );
1001996 PyObject_Del (self );
@@ -1160,8 +1155,7 @@ DBEnv_dealloc(DBEnvObject* self)
11601155 PyErr_Clear ();
11611156 }
11621157
1163- Py_XDECREF (self -> event_notifyCallback );
1164- self -> event_notifyCallback = NULL ;
1158+ Py_CLEAR (self -> event_notifyCallback );
11651159
11661160 if (self -> in_weakreflist != NULL ) {
11671161 PyObject_ClearWeakRefs ((PyObject * ) self );
@@ -1640,8 +1634,7 @@ DB_associate(DBObject* self, PyObject* args, PyObject* kwargs)
16401634 MYDB_END_ALLOW_THREADS ;
16411635
16421636 if (err ) {
1643- Py_XDECREF (secondaryDB -> associateCallback );
1644- secondaryDB -> associateCallback = NULL ;
1637+ Py_CLEAR (secondaryDB -> associateCallback );
16451638 secondaryDB -> primaryDBType = 0 ;
16461639 }
16471640
0 commit comments