]> granicus.if.org Git - python/commitdiff
Fix a crash in _elementtree related to lone unicode surrogates.
authorVictor Stinner <victor.stinner@haypocalc.com>
Mon, 22 Mar 2010 12:11:44 +0000 (12:11 +0000)
committerVictor Stinner <victor.stinner@haypocalc.com>
Mon, 22 Mar 2010 12:11:44 +0000 (12:11 +0000)
Fix a segfault on:

   >>> import _elementtree
   >>> _elementtree.iterparse('/bin/sh', ("\uDC80", "\ud808\udf45"))

Modules/_elementtree.c

index 88374cc3521c082ecd40aca089d23bc40059d9bc..2fad8e2f4758e0ad5ecc0857ab7777d95d551f6d 100644 (file)
@@ -2734,6 +2734,8 @@ xmlparser_setevents(XMLParserObject* self, PyObject* args)
         char* event;
         if (PyUnicode_Check(item)) {
             event = _PyUnicode_AsString(item);
+            if (event == NULL)
+                goto error;
         } else if (PyBytes_Check(item))
             event = PyBytes_AS_STRING(item);
         else {