- Fix an off-by-one bug in locale.strxfrm().
patch taken from http://bugs.debian.org/416934.
diff --git a/Misc/NEWS b/Misc/NEWS
index 9da3d3b..8ef7acb 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -681,6 +681,9 @@
- Bug #1633621: if curses.resizeterm() or curses.resize_term() is called,
update _curses.LINES, _curses.COLS, curses.LINES and curses.COLS.
+- Fix an off-by-one bug in locale.strxfrm().
+
+
Tests
-----
diff --git a/Modules/_localemodule.c b/Modules/_localemodule.c
index abfca4e..02e9e53 100644
--- a/Modules/_localemodule.c
+++ b/Modules/_localemodule.c
@@ -360,7 +360,7 @@
buf = PyMem_Malloc(n1);
if (!buf)
return PyErr_NoMemory();
- n2 = strxfrm(buf, s, n1);
+ n2 = strxfrm(buf, s, n1) + 1;
if (n2 > n1) {
/* more space needed */
buf = PyMem_Realloc(buf, n2);