cpython/Modules
Tim Peters 5de9842b34 Repair widespread misuse of _PyString_Resize. Since it's clear people
don't understand how this function works, also beefed up the docs.  The
most common usage error is of this form (often spread out across gotos):

	if (_PyString_Resize(&s, n) < 0) {
		Py_DECREF(s);
		s = NULL;
		goto outtahere;
	}

The error is that if _PyString_Resize runs out of memory, it automatically
decrefs the input string object s (which also deallocates it, since its
refcount must be 1 upon entry), and sets s to NULL.  So if the "if"
branch ever triggers, it's an error to call Py_DECREF(s):  s is already
NULL!  A correct way to write the above is the simpler (and intended)

	if (_PyString_Resize(&s, n) < 0)
		goto outtahere;

Bugfix candidate.
2002-04-27 18:44:32 +00:00
..
expat Define VERSION in expat.h. 2002-02-13 07:47:16 +00:00
_codecsmodule.c Patch #477750: Use METH_ constants in Modules. 2002-01-17 23:15:58 +00:00
_curses_panel.c Fix whitespace 2002-03-31 14:55:17 +00:00
_cursesmodule.c I think this fixes 2002-01-30 15:39:28 +00:00
_hotshot.c Remove compiler warnings on Solaris 8. 2002-03-20 21:32:07 +00:00
_localemodule.c Patch #546194: Check constants individually. Fixes 534143 on OpenBSD. 2002-04-19 21:04:41 +00:00
_sre.c Revert use of METH_OLDARGS (use 0) to support 1.5.2 2002-03-31 15:46:00 +00:00
_ssl.c Repair widespread misuse of _PyString_Resize. Since it's clear people 2002-04-27 18:44:32 +00:00
_testcapimodule.c Switch to using METH_NOARGS where possible. 2002-04-01 14:28:58 +00:00
_tkinter.c Use symbolic METH_VARARGS/METH_OLDARGS instead of 1/0 for ml_flags 2002-03-31 14:44:22 +00:00
_weakref.c Convert the ref() and proxy() implementations to use the new 2001-10-23 21:12:47 +00:00
.cvsignore Add Setup.config 2000-06-30 16:09:01 +00:00
addrinfo.h Undefine addrinfo.h constants if the system header defined them. 2001-12-06 19:04:35 +00:00
almodule.c Patch supplied by Burton Radons for his own SF bug #487390: Modifying 2001-12-08 18:02:58 +00:00
ar_beos Moved BeOS/ar-fake and BeOS/linkmodule to Modules/ar_beos and 2001-02-16 03:24:50 +00:00
arraymodule.c PyObject_Del can now be used as a function designator. 2002-04-12 02:44:10 +00:00
audioop.c Patch #477750: Use METH_ constants in Modules. 2002-01-17 23:15:58 +00:00
binascii.c SF bug #494738: binascii_b2a_base64 overwrites memory. 2001-12-19 04:41:35 +00:00
bsddbmodule.c SF patch [ 545523 ] patch for 514433 bsddb.dbopen (NULL) 2002-04-23 02:11:05 +00:00
ccpython.cc Patch and new file by Geoff Furnish for C++ compilation. 1999-12-16 17:52:08 +00:00
cdmodule.c Repair widespread misuse of _PyString_Resize. Since it's clear people 2002-04-27 18:44:32 +00:00
cgen.py Convert a pile of obvious "yes/no" functions to return bool. 2002-04-04 22:55:58 +00:00
cgensupport.c REMOVED all CWI, CNRI and BeOpen copyright markings. 2000-09-01 23:29:29 +00:00
cgensupport.h REMOVED all CWI, CNRI and BeOpen copyright markings. 2000-09-01 23:29:29 +00:00
clmodule.c Repair widespread misuse of _PyString_Resize. Since it's clear people 2002-04-27 18:44:32 +00:00
cmathmodule.c Use the PyModule_*() API instead of manipulating the module dictionary 2002-04-01 03:45:06 +00:00
config.c.in gcmodule is now enabled here 2001-08-30 00:12:32 +00:00
cPickle.c Repair widespread misuse of _PyString_Resize. Since it's clear people 2002-04-27 18:44:32 +00:00
cryptmodule.c Remove METH_OLDARGS: 2002-03-31 15:27:00 +00:00
cStringIO.c Removed old Digital Creations copyright/license notices (with 2002-04-04 17:52:50 +00:00
cstubs REMOVED all CWI, CNRI and BeOpen copyright markings. 2000-09-01 23:29:29 +00:00
dbmmodule.c OS/2 EMX port changes (Modules part of patch #450267): 2002-03-03 02:59:16 +00:00
dlmodule.c Convert METH_OLDARGS -> METH_VARARGS: also PyArg_Parse -> PyArg_ParseTuple 2002-03-31 15:43:28 +00:00
errnomodule.c Removed an XXX question (the answer is "yes" <wink>). 2002-01-26 17:58:02 +00:00
fcntlmodule.c OS/2 EMX port changes (Modules part of patch #450267): 2002-03-03 02:59:16 +00:00
flmodule.c Convert METH_OLDARGS -> METH_NOARGS: remove args parameter 2002-03-31 15:56:56 +00:00
fmmodule.c Convert from using METH_OLDARGS to METH_NOARGS. 2002-03-31 14:57:24 +00:00
fpectlmodule.c Got rid of a few more NeXT ifdefs. The last, I think. 2002-02-01 15:46:29 +00:00
fpetestmodule.c Patch #477750: Use METH_ constants in Modules. 2002-01-17 23:15:58 +00:00
gcmodule.c Allow PyObject_Del to be used as a function designator. Provide binary 2002-04-12 02:41:03 +00:00
gdbmmodule.c Patch supplied by Burton Radons for his own SF bug #487390: Modifying 2001-12-08 18:02:58 +00:00
getaddrinfo.c Remove INET6 define. Use ENABLE_IPV6 instead. 2001-12-02 10:15:37 +00:00
getbuildinfo.c More sprintf -> PyOS_snprintf. 2001-12-04 01:11:32 +00:00
getnameinfo.c Remove INET6 define. Use ENABLE_IPV6 instead. 2001-12-02 10:15:37 +00:00
getpath.c Include <unistd.h> in Python.h. Fixes #500924. 2002-01-12 11:05:12 +00:00
glmodule.c REMOVED all CWI, CNRI and BeOpen copyright markings. 2000-09-01 23:29:29 +00:00
grpmodule.c Patch #523268, #522027: return enhanced tuples. 2002-03-01 10:38:44 +00:00
imageop.c Convert more METH_OLDARGS & PyArg_Parse() 2002-04-02 18:26:33 +00:00
imgfile.c Convert METH_OLDARGS -> METH_VARARGS: also PyArg_Parse -> PyArg_ParseTuple 2002-03-31 15:43:28 +00:00
ld_so_aix Mod suggested by Donn Cave -- invoke makexp_aix relative to $0 1997-09-03 00:45:30 +00:00
ld_so_beos Remove a hard coded Python version, and a now incorrect relative path. Closes 2001-02-16 03:27:35 +00:00
license.terms Add an optional hack for threads in Tkinter. 1997-09-28 05:52:41 +00:00
linuxaudiodev.c Repair widespread misuse of _PyString_Resize. Since it's clear people 2002-04-27 18:44:32 +00:00
main.c OS/2 EMX port changes (Modules part of patch #450267): 2002-03-03 02:59:16 +00:00
makesetup [Patch #536769] Add -Xcompiler flag for adding arguments and switches for 2002-03-29 18:00:19 +00:00
makexp_aix remove C++ entries of the form Class::method 1998-04-09 21:46:02 +00:00
mathmodule.c Revert parts of patch #453627, documenting the resulting test failures 2001-09-06 08:16:17 +00:00
md5.h Rationalize use of limits.h, moving the inclusion to Python.h. 2000-09-26 05:46:01 +00:00
md5c.c Patch #463421: speed up md5 module with real memcpy/set. 2001-09-24 17:14:40 +00:00
md5module.c Remove METH_OLDARGS: 2002-03-31 15:27:00 +00:00
mmapmodule.c SF bug 515943: searching for data with \0 in mmap. 2002-03-08 05:43:32 +00:00
mpzmodule.c Get rid of all METH_OLDARGS & PyArg_Parse. 2002-04-01 01:37:14 +00:00
newmodule.c There's no need for typechecks on the second and third argument of 2002-01-15 19:21:05 +00:00
nismodule.c Remove METH_OLDARGS: 2002-03-31 15:27:00 +00:00
operator.c Removed old Digital Creations copyright/license notices (with 2002-04-04 17:52:50 +00:00
parsermodule.c Patch supplied by Burton Radons for his own SF bug #487390: Modifying 2001-12-08 18:02:58 +00:00
pcre-int.h AMK's revised version of the previous patch. 1998-05-07 15:32:44 +00:00
pcre.h Jack Jansen: Mac Carbon: don't include sys/types if we don't have it 2000-06-28 20:56:30 +00:00
pcremodule.c Patch #477750: Use METH_ constants in Modules. 2002-01-17 23:15:58 +00:00
posixmodule.c WCOREDUMP(), WIFCONTINUED(), WCONTINUED, WUNTRACED: New. 2002-04-23 15:58:02 +00:00
puremodule.c Patch #477750: Use METH_ constants in Modules. 2002-01-17 23:15:58 +00:00
pwdmodule.c Remove unused variable reported by Walter Dörwald 2002-04-15 16:29:00 +00:00
pyexpat.c Remove compiler warnings on Solaris 8. 2002-03-20 21:32:07 +00:00
pypcre.c First stab at rationalizing the PyMem_ API. Mixing PyObject_xyz with 2002-04-12 07:22:56 +00:00
python.c Even more ANSIfication: fix as many function pointers and declarations as 2000-07-22 23:57:55 +00:00
readline.c #544265, Remove warnings for passing const to free() 2002-04-21 15:03:18 +00:00
regexmodule.c Repair widespread misuse of _PyString_Resize. Since it's clear people 2002-04-27 18:44:32 +00:00
regexpr.c Python.h: Don't attempt to redefine NDEBUG if it's already defined. 2001-07-15 18:38:47 +00:00
regexpr.h Spelling fixes supplied by Rob W. W. Hooft. All these are fixes in either 2000-07-16 12:04:32 +00:00
resource.c Check for overflow errors in setrlimit(), 2002-04-23 20:15:04 +00:00
rgbimgmodule.c Remove METH_OLDARGS: 2002-03-31 15:27:00 +00:00
rotormodule.c Remove METH_OLDARGS: 2002-03-31 15:27:00 +00:00
selectmodule.c Use the PyModule_Add*() APIs instead of manipulating the module dict 2002-04-01 14:53:37 +00:00
Setup.config.in gcmodule is now always compiled 2001-08-30 00:13:38 +00:00
Setup.dist Document the build process more precisely. Suggested by Hugh Sasse. 2002-04-19 09:47:23 +00:00
sgimodule.c Convert more METH_OLDARGS & PyArg_Parse() 2002-04-02 18:26:33 +00:00
shamodule.c Remove unused variable and call to PyModule_GetDict(). 2002-04-01 14:30:50 +00:00
signalmodule.c Remove METH_OLDARGS: 2002-03-31 15:27:00 +00:00
socketmodule.c Repair widespread misuse of _PyString_Resize. Since it's clear people 2002-04-27 18:44:32 +00:00
socketmodule.h Patch #520062: Support IPv6 with VC.NET. 2002-03-01 08:31:07 +00:00
sre_constants.h added martin's BIGCHARSET patch to SRE 2.1.1. martin reports 2x 2001-07-02 16:58:38 +00:00
sre.h Remove extraneous #define as per effbot's instructions in: 2002-03-18 18:46:14 +00:00
stropmodule.c Repair widespread misuse of _PyString_Resize. Since it's clear people 2002-04-27 18:44:32 +00:00
structmodule.c Get rid of more PyArg_Parse & METH_OLDARGS. 2002-04-02 18:17:57 +00:00
sunaudiodev.c Remove METH_OLDARGS: 2002-03-31 15:27:00 +00:00
svmodule.c Patch #477750: Use METH_ constants in Modules. 2002-01-17 23:15:58 +00:00
symtablemodule.c Fix [ #489673 ] memory leak in test_symtable: Free the st_future slot. 2001-12-06 14:34:58 +00:00
syslogmodule.c Use the PyModule_Add*() APIs instead of manipulating the module dict 2002-04-01 14:53:37 +00:00
tclNotify.c Bunch of minor ANSIfications: 'void initfunc()' -> 'void initfunc(void)', 2000-07-21 06:00:07 +00:00
termios.c OS/2 EMX port changes (Modules part of patch #450267): 2002-03-03 02:59:16 +00:00
testcapi_long.h Fix error in comment, and in test_long_api and test_longlong_api remove 2001-06-16 08:10:13 +00:00
threadmodule.c Lock methods acquire() and locked() now return bools. 2002-04-07 06:32:21 +00:00
timemodule.c Got rid of ifdefs for long-obsolete GUSI versions. 2002-04-11 20:46:23 +00:00
timing.h remove rcs history 1996-01-26 21:10:22 +00:00
timingmodule.c Convert from using METH_OLDARGS to METH_NOARGS. 2002-03-31 14:57:24 +00:00
tkappinit.c Mods by Tony Lownds (patch 490100, slightly massaged by me) to make Tkinter 2001-12-09 23:15:56 +00:00
unicodedata_db.h compress unicode decomposition tables (this saves another 55k) 2001-01-21 22:41:08 +00:00
unicodedata.c Remove direct manipulation of the module dict. 2002-04-03 21:39:26 +00:00
unicodename_db.h compress unicode decomposition tables (this saves another 55k) 2001-01-21 22:41:08 +00:00
xreadlinesmodule.c Patch supplied by Burton Radons for his own SF bug #487390: Modifying 2001-12-08 18:02:58 +00:00
xxmodule.c Fix an obvious bug. 2002-04-09 12:50:13 +00:00
xxsubtype.c Add a simple test of the METH_CLASS and METH_STATIC flags for type methods. 2002-03-28 15:49:54 +00:00
yuv.h REMOVED all CWI, CNRI and BeOpen copyright markings. 2000-09-01 23:29:29 +00:00
yuvconvert.c REMOVED all CWI, CNRI and BeOpen copyright markings. 2000-09-01 23:29:29 +00:00
zlibmodule.c Repair widespread misuse of _PyString_Resize. Since it's clear people 2002-04-27 18:44:32 +00:00