Merged revisions 84714 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r84714 | benjamin.peterson | 2010-09-11 11:02:03 -0500 (Sat, 11 Sep 2010) | 1 line

  check for NULL tp_as_mapping in PySequence_(Get/Set/Del)Slice #9834
........
diff --git a/Objects/abstract.c b/Objects/abstract.c
index 3698250..2d4f2e1 100644
--- a/Objects/abstract.c
+++ b/Objects/abstract.c
@@ -1623,7 +1623,7 @@
     if (!s) return null_error();
 
     mp = s->ob_type->tp_as_mapping;
-    if (mp->mp_subscript) {
+    if (mp && mp->mp_subscript) {
         PyObject *res;
         PyObject *slice = _PySlice_FromIndices(i1, i2);
         if (!slice)
@@ -1701,7 +1701,7 @@
     }
 
     mp = s->ob_type->tp_as_mapping;
-    if (mp->mp_ass_subscript) {
+    if (mp && mp->mp_ass_subscript) {
         int res;
         PyObject *slice = _PySlice_FromIndices(i1, i2);
         if (!slice)
@@ -1726,7 +1726,7 @@
     }
 
     mp = s->ob_type->tp_as_mapping;
-    if (mp->mp_ass_subscript) {
+    if (mp && mp->mp_ass_subscript) {
         int res;
         PyObject *slice = _PySlice_FromIndices(i1, i2);
         if (!slice)