There was an error while loading. Please reload this page.
1 parent d908fd9 commit be487a6Copy full SHA for be487a6
1 file changed
Modules/_localemodule.c
@@ -260,7 +260,12 @@ PyLocale_strxfrm(PyObject* self, PyObject* args)
260
PyErr_NoMemory();
261
goto exit;
262
}
263
+ errno = 0;
264
n2 = wcsxfrm(buf, s, n1);
265
+ if (errno) {
266
+ PyErr_SetFromErrno(PyExc_OSError);
267
+ goto exit;
268
+ }
269
if (n2 >= (size_t)n1) {
270
/* more space needed */
271
wchar_t * new_buf = PyMem_Realloc(buf, (n2+1)*sizeof(wchar_t));
@@ -269,14 +274,17 @@ PyLocale_strxfrm(PyObject* self, PyObject* args)
274
275
276
buf = new_buf;
277
272
278
n2 = wcsxfrm(buf, s, n2+1);
279
280
281
282
273
283
284
result = PyUnicode_FromWideChar(buf, n2);
285
exit:
- if (buf)
- PyMem_Free(buf);
- if (s)
- PyMem_Free(s);
286
+ PyMem_Free(buf);
287
+ PyMem_Free(s);
288
return result;
289
290
#endif
0 commit comments