18aa388ca0
* crashes on memory allocation failure found with failmalloc * memory leaks found with valgrind * compiler warnings in opt mode which would lead to invalid memory reads * problem using wrong name in decimal module reported by pychecker Update the valgrind suppressions file with new leaks that are small/one-time leaks we don't care about (ie, they are too hard to fix). TBR=barry TESTED=./python -E -tt ./Lib/test/regrtest.py -uall (both debug and opt modes) in opt mode: valgrind -q --leak-check=yes --suppressions=Misc/valgrind-python.supp \ ./python -E -tt ./Lib/test/regrtest.py -uall,-bsddb,-compiler \ -x test_logging test_ssl test_multiprocessing valgrind -q --leak-check=yes --suppressions=Misc/valgrind-python.supp \ ./python -E -tt ./Lib/test/regrtest.py test_multiprocessing for i in `seq 1 4000` ; do LD_PRELOAD=~/local/lib/libfailmalloc.so FAILMALLOC_INTERVAL=$i \ ./python -c pass done At least some of these fixes should probably be backported to 2.5. |
||
---|---|---|
.. | ||
README.txt | ||
count.h | ||
ctype.h | ||
fastsearch.h | ||
find.h | ||
formatter.h | ||
localeutil.h | ||
partition.h | ||
string_format.h | ||
stringdefs.h | ||
transmogrify.h | ||
unicodedefs.h |
README.txt
bits shared by the stringobject and unicodeobject implementations (and possibly other modules, in a not too distant future). the stuff in here is included into relevant places; see the individual source files for details. -------------------------------------------------------------------- the following defines used by the different modules: STRINGLIB_CHAR the type used to hold a character (char or Py_UNICODE) STRINGLIB_EMPTY a PyObject representing the empty string int STRINGLIB_CMP(STRINGLIB_CHAR*, STRINGLIB_CHAR*, Py_ssize_t) compares two strings. returns 0 if they match, and non-zero if not. Py_ssize_t STRINGLIB_LEN(PyObject*) returns the length of the given string object (which must be of the right type) PyObject* STRINGLIB_NEW(STRINGLIB_CHAR*, Py_ssize_t) creates a new string object STRINGLIB_CHAR* STRINGLIB_STR(PyObject*) returns the pointer to the character data for the given string object (which must be of the right type)