From a69e1efbfb38b2a9826781a8cb5c20991525ba03 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20v=2E=20L=C3=B6wis?= Date: Sat, 8 Mar 2008 10:54:31 +0000 Subject: Properly size memory blocks in units of wchar_t. --- Modules/_localemodule.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Modules/_localemodule.c b/Modules/_localemodule.c index 8a32677..0b657c4 100644 --- a/Modules/_localemodule.c +++ b/Modules/_localemodule.c @@ -61,7 +61,7 @@ str2uni(const char* s) if (needed < sizeof(smallbuf)) dest = smallbuf; else { - dest = PyMem_Malloc(needed+1); + dest = PyMem_Malloc((needed+1)*sizeof(wchar_t)); if (!dest) return PyErr_NoMemory(); } @@ -282,7 +282,7 @@ PyLocale_strxfrm(PyObject* self, PyObject* args) #ifdef HAVE_USABLE_WCHAR_T s = s0; #else - s = PyMem_Malloc(n0+1); + s = PyMem_Malloc((n0+1)*sizeof(wchar_t)); if (!s) return PyErr_NoMemory(); for (i=0; i<=n0; i++) @@ -291,7 +291,7 @@ PyLocale_strxfrm(PyObject* self, PyObject* args) /* assume no change in size, first */ n1 = wcslen(s) + 1; - buf = PyMem_Malloc(n1); + buf = PyMem_Malloc(n1*sizeof(wchar_t)); if (!buf) { PyErr_NoMemory(); goto exit; @@ -299,7 +299,7 @@ PyLocale_strxfrm(PyObject* self, PyObject* args) n2 = wcsxfrm(buf, s, n1); if (n2 >= n1) { /* more space needed */ - buf = PyMem_Realloc(buf, n2+1); + buf = PyMem_Realloc(buf, (n2+1)*sizeof(wchar_t)); if (!buf) { PyErr_NoMemory(); goto exit; -- cgit v0.12