Stefan Krah <stefan-use...@bytereef.org> added the comment: > const int iorder[4] = {0, 1, 2, 3};
const isn't possible, iorder is modified later on. Adding the array dimension did not change anything. Making everything const (see below) did not change anything either. I presume that Valgrind regards qq[2] or qq[3] as uninitialized. Index: Objects/unicodeobject.c =================================================================== --- Objects/unicodeobject.c (revision 82816) +++ Objects/unicodeobject.c (working copy) @@ -2216,10 +2216,12 @@ int bo = 0; /* assume native ordering by default */ const char *errmsg = ""; /* Offsets from q for retrieving bytes in the right order. */ + const int iorder_le[] = {0, 1, 2, 3}; + const int iorder_be[] = {3, 2, 1, 0}; #ifdef BYTEORDER_IS_LITTLE_ENDIAN - int iorder[] = {0, 1, 2, 3}; + const int *iorder = iorder_le; #else - int iorder[] = {3, 2, 1, 0}; + const int *iorder = iorder_be; #endif PyObject *errorHandler = NULL; PyObject *exc = NULL; @@ -2262,17 +2264,11 @@ if (bo == -1) { /* force LE */ - iorder[0] = 0; - iorder[1] = 1; - iorder[2] = 2; - iorder[3] = 3; + iorder = iorder_le; } else if (bo == 1) { /* force BE */ - iorder[0] = 3; - iorder[1] = 2; - iorder[2] = 1; - iorder[3] = 0; + iorder = iorder_be; } ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue9242> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com