[Zope-Checkins] CVS: Zope/lib/python/DocumentTemplate - cDocumentTemplate.c:1.39.40.3

Matthew T. Kromer matt@zope.com
Wed, 24 Oct 2001 11:44:26 -0400


Update of /cvs-repository/Zope/lib/python/DocumentTemplate
In directory cvs.zope.org:/tmp/cvs-serv8179/lib/python/DocumentTemplate

Modified Files:
      Tag: cAccessControl-review-branch
	cDocumentTemplate.c 
Log Message:
Added a few additional NULL checks


=== Zope/lib/python/DocumentTemplate/cDocumentTemplate.c 1.39.40.2 => 1.39.40.3 ===
       if (PyTuple_Check(block) 
           && PyTuple_GET_SIZE(block) > 1 
+          && PyTuple_GET_ITEM(block, 0)
           && PyString_Check(PyTuple_GET_ITEM(block, 0)))
 	{
           switch (PyString_AS_STRING(PyTuple_GET_ITEM(block, 0))[0])
@@ -751,6 +752,8 @@
             case 'v': /* var  */
 	      t=PyTuple_GET_ITEM(block,1);
 
+	      if (t == NULL) return -1;
+
 	      if (PyString_Check(t)) t=PyObject_GetItem(md, t);
 	      else t=PyObject_CallObject(t, mda);
 
@@ -769,6 +772,7 @@
                       && strchr(PyString_AS_STRING(t), '"')
                       )
                     ASSIGN(t, PyObject_CallFunction(html_quote, "O", t));
+		    if (t == NULL) return -1;	/* What will upper layer do?*/
                 }
                   
               block = t;