[Python-checkins] python/dist/src/Modules _bsddb.c,1.42,1.43

greg@users.sourceforge.net greg at users.sourceforge.net
Mon Jun 6 11:55:09 CEST 2005


Update of /cvsroot/python/python/dist/src/Modules
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16106/extsrc

Modified Files:
	_bsddb.c 
Log Message:
fixes pybsddb SF bug id 1215432.  DB.associate() would crash when a 
DBError was supposed to be raised.

needs backport to 2.4.x and possibly 2.3.x.



Index: _bsddb.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Modules/_bsddb.c,v
retrieving revision 1.42
retrieving revision 1.43
diff -u -d -r1.42 -r1.43
--- _bsddb.c	4 Jun 2005 06:46:59 -0000	1.42
+++ _bsddb.c	6 Jun 2005 09:55:06 -0000	1.43
@@ -1181,9 +1181,7 @@
     }
 
     /* Save a reference to the callback in the secondary DB. */
-    if (self->associateCallback != NULL) {
-        Py_DECREF(self->associateCallback);
-    }
+    Py_XDECREF(secondaryDB->associateCallback);
     Py_INCREF(callback);
     secondaryDB->associateCallback = callback;
     secondaryDB->primaryDBType = _DB_get_type(self);
@@ -1217,8 +1215,8 @@
     MYDB_END_ALLOW_THREADS;
 
     if (err) {
-        Py_DECREF(self->associateCallback);
-        self->associateCallback = NULL;
+        Py_XDECREF(secondaryDB->associateCallback);
+        secondaryDB->associateCallback = NULL;
         secondaryDB->primaryDBType = 0;
     }
 



More information about the Python-checkins mailing list