]> granicus.if.org Git - python/commitdiff
MultibyteCodec_Encode() checks if PyUnicode_AS_UNICODE() failed
authorVictor Stinner <victor.stinner@haypocalc.com>
Mon, 21 Nov 2011 01:50:14 +0000 (02:50 +0100)
committerVictor Stinner <victor.stinner@haypocalc.com>
Mon, 21 Nov 2011 01:50:14 +0000 (02:50 +0100)
Modules/cjkcodecs/multibytecodec.c

index 77edbb309466bc6c82cf2bde1fdc24f079bbe066..6b2352373c85d64b2e359d3ef3746574dc679a21 100644 (file)
@@ -574,8 +574,11 @@ MultibyteCodec_Encode(MultibyteCodecObject *self,
         }
     }
 
-    data = PyUnicode_AS_UNICODE(arg);
-    datalen = PyUnicode_GET_SIZE(arg);
+    data = PyUnicode_AsUnicodeAndSize(arg, &datalen);
+    if (data == NULL) {
+        Py_XDECREF(ucvt);
+        return NULL;
+    }
 
     errorcb = internal_error_callback(errors);
     if (errorcb == NULL) {