]> granicus.if.org Git - python/commitdiff
allow the first call to wcsxfrm to return ERANGE (#536)
authorBenjamin Peterson <benjamin@python.org>
Wed, 8 Mar 2017 06:24:44 +0000 (22:24 -0800)
committerGitHub <noreply@github.com>
Wed, 8 Mar 2017 06:24:44 +0000 (22:24 -0800)
If the output buffer provided to wcsxfrm is too small, errno is set to ERANGE. We should not error out in that case.

Modules/_localemodule.c

index f5c126a7a1463ea07a36110cc6e202eaa40e5c55..ecd673e4a7dbad91ea143ec4f187c3abedbbbfd3 100644 (file)
@@ -262,7 +262,7 @@ PyLocale_strxfrm(PyObject* self, PyObject* args)
     }
     errno = 0;
     n2 = wcsxfrm(buf, s, n1);
-    if (errno) {
+    if (errno && errno != ERANGE) {
         PyErr_SetFromErrno(PyExc_OSError);
         goto exit;
     }