From 04af9046dd79e2e0a25a12c289aba17ca90fe6b2 Mon Sep 17 00:00:00 2001 From: Stefan Behnel <stefan_ml@behnel.de> Date: Sat, 10 May 2014 17:30:05 +0200 Subject: [PATCH] make encoding setup code safer by not expecting sys.getdefaultencoding() to safely return a bytes object --- Cython/Utility/TypeConversion.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Cython/Utility/TypeConversion.c b/Cython/Utility/TypeConversion.c index 849530ae8..f308bd615 100644 --- a/Cython/Utility/TypeConversion.c +++ b/Cython/Utility/TypeConversion.c @@ -132,7 +132,8 @@ static int __Pyx_init_sys_getdefaultencoding_params(void) { if (!sys) goto bad; default_encoding = PyObject_CallMethod(sys, (char*) (const char*) "getdefaultencoding", NULL); if (!default_encoding) goto bad; - default_encoding_c = PyBytes_AS_STRING(default_encoding); + default_encoding_c = PyBytes_AsString(default_encoding); + if (!default_encoding_c) goto bad; __PYX_DEFAULT_STRING_ENCODING = (char*) malloc(strlen(default_encoding_c)); if (!__PYX_DEFAULT_STRING_ENCODING) goto bad; strcpy(__PYX_DEFAULT_STRING_ENCODING, default_encoding_c); -- 2.30.9