[Zope3-checkins] CVS: Zope3/src/persistence - persistence.c:1.15
Jeremy Hylton
jeremy@zope.com
Mon, 5 May 2003 13:06:27 -0400
Update of /cvs-repository/Zope3/src/persistence
In directory cvs.zope.org:/tmp/cvs-serv27484
Modified Files:
persistence.c
Log Message:
Prevent core dump when instances doesn't have a dict.
This is a partial fix, because we need to support objects with slots,
too.
=== Zope3/src/persistence/persistence.c 1.14 => 1.15 ===
--- Zope3/src/persistence/persistence.c:1.14 Fri Apr 25 15:02:35 2003
+++ Zope3/src/persistence/persistence.c Mon May 5 13:06:27 2003
@@ -131,12 +131,18 @@
/* XXX UPDATE_STATE_IF_NECESSARY */
+ /* This instance has no dict. */
+ if (!pdict) {
+ /* XXX check for slots */
+ Py_INCREF(Py_None);
+ return Py_None;
+ }
+
state = PyDict_New();
if (state == NULL)
return NULL;
- /* If the instance doesn't have any attributes, the dict ptr could
- still be NULL. */
+ /* This instance never initialized its dict. */
if ((*pdict) == NULL)
return state;