summaryrefslogtreecommitdiffstats
path: root/Objects
Commit message (Collapse)AuthorAgeFilesLines
* Patch #1541585: fix buffer overrun when performing repr() onNeal Norwitz2006-08-211-12/+29
| | | | | | a unicode string in a build with wide unicode (UCS-4) support. This code could be improved, so add an XXX comment.
* Fix a couple of ssize-t issues reported by Alexander Belopolsky on python-devNeal Norwitz2006-08-211-1/+1
|
* Move initialization to after the asserts for non-NULL values.Neal Norwitz2006-08-191-2/+4
| | | | | | Klocwork 286-287. (I'm not backporting this, but if someone wants to, feel free.)
* Move initialization of interned strings to before allocating theNeal Norwitz2006-08-191-11/+15
| | | | | | object so we don't leak op. (Fixes an earlier patch to this code) Klockwork #350
* Subclasses of int/long are allowed to define an __index__.Neal Norwitz2006-08-151-4/+2
|
* Fix refleak introduced in rev. 51248.Georg Brandl2006-08-141-1/+3
|
* Correct an accidentally removed previous patch.Marc-André Lemburg2006-08-141-5/+2
|
* Slightly revised version of patch #1538956:Marc-André Lemburg2006-08-143-21/+93
| | | | | | | | | | Replace UnicodeDecodeErrors raised during == and != compares of Unicode and other objects with a new UnicodeWarning. All other comparisons continue to raise exceptions. Exceptions other than UnicodeDecodeErrors are also left untouched.
* Can't return NULL from a void function. If there is a memory error,Neal Norwitz2006-08-141-2/+2
| | | | | about the best we can do is call PyErr_WriteUnraisable and go on. We won't be able to do the call below either, so verify delstr is valid.
* Fix segfault when doing string formatting on subclasses of long ifNeal Norwitz2006-08-131-1/+4
| | | | | | __oct__, __hex__ don't return a string. Klocwork 308
* Handle a whole lot of failures from PyString_FromInternedString().Neal Norwitz2006-08-131-25/+101
| | | | Should fix most of Klocwork 234-272.
* Fix a couple of bugs exposed by the new __index__ code. The 64-bit buildbotsNeal Norwitz2006-08-122-11/+10
| | | | | | | | | | | were failing due to inappropriate clipping of numbers larger than 2**31 with new-style classes. (typeobject.c) In reviewing the code for classic classes, there were 2 problems. Any negative value return could be returned. Always return -1 if there was an error. Also make the checks similar with the new-style classes. I believe this is correct for 32 and 64 bit boxes, including Windows64. Add a test of classic classes too.
* Patch #1538606, Patch to fix __index__() clipping.Neal Norwitz2006-08-1210-130/+125
| | | | | | | I modified this patch some by fixing style, some error checking, and adding XXX comments. This patch requires review and some changes are to be expected. I'm checking in now to get the greatest possible review and establish a baseline for moving forward. I don't want this to hold up release if possible.
* Check return of PyMem_MALLOC (garbage) is non-NULL.Neal Norwitz2006-08-121-2/+6
| | | | | | Check seq in both portions of if/else. Klocwork #289-290.
* Whoops, how did that get in there. :-) Revert all the parts of 51227 that ↵Neal Norwitz2006-08-121-3/+2
| | | | were not supposed to go it. Only Modules/_ctypes/cfields.c was supposed to be changed
* Check returned pointer is valid.Neal Norwitz2006-08-121-2/+3
| | | | Klocwork #233
* Klocwork made another run and found a bunch more problems.Neal Norwitz2006-08-121-0/+4
| | | | | | | This is the first batch of fixes that should be easy to verify based on context. This fixes problem numbers: 220 (ast), 323-324 (symtable), 321-322 (structseq), 215 (array), 210 (hotshot), 182 (codecs), 209 (etree).
* Fix and test for an infinite C recursion.Armin Rigo2006-08-091-1/+1
|
* __hash__ may now return long int; the final hashMartin v. Löwis2006-08-092-6/+7
| | | | | value is obtained by invoking hash on the long int. Fixes #1536021.
* memcmp() can return values other than -1, 0, and +1 but tp_compareThomas Heller2006-08-081-1/+1
| | | | must not.
* Remove "non-mapping" and "non-sequence" from TypeErrors raised byGeorg Brandl2006-08-081-2/+2
| | | | | | | PyMapping_Size and PySequence_Size. Because len() tries first sequence, then mapping size, it will always raise a "non-mapping object has no len" error which is confusing.
* Typo fixesAndrew M. Kuchling2006-08-042-2/+2
|
* Change fix for segfaulting property(), add a NEWS entry and a test.Georg Brandl2006-08-041-10/+12
|
* Fix bug caused by first decrefing, then increfing.Georg Brandl2006-08-041-5/+4
|
* SF patch #1534048 (bug #1531003): fix typo in error messageFred Drake2006-08-041-1/+1
|
* _PyWeakref_GetWeakrefCount() now returns a Py_ssize_t instead of long.Neal Norwitz2006-08-021-2/+2
|
* typo fixAndrew M. Kuchling2006-08-011-1/+1
|
* Whitespace normalizationNeal Norwitz2006-07-301-35/+32
|
* Bug #1515471: string.replace() accepts character buffers again.Neal Norwitz2006-07-301-71/+51
| | | | Pass the char* and size around rather than PyObject's.
* [Bug #1414697] Change docstring of set/frozenset types to specify that the ↵Andrew M. Kuchling2006-07-291-2/+2
| | | | contents are unique. Raymond, please feel free to edit or revert.
* Closure can't be NULL at this point since we know it's a tuple.Neal Norwitz2006-07-271-1/+1
| | | | Reported by Klocwork # 74.
* Move the initialization of size_a down below the check for a being NULL.Neal Norwitz2006-07-231-1/+2
| | | | Reported by Klocwork #106
* Handle allocation failures gracefully. Found with failmalloc.Neal Norwitz2006-07-212-0/+5
| | | | Many (all?) of these could be backported.
* Move the initialization of some pointers earlier. The problem isNeal Norwitz2006-07-211-1/+1
| | | | | that if we call Py_DECREF(frame) like we do if allocating locals fails, frame_dealloc() will try to use these bogus values and crash.
* Add some asserts that we got good params passedNeal Norwitz2006-07-211-0/+3
|
* otherset is known to be non-NULL based on checks before and DECREF after.Neal Norwitz2006-07-171-2/+2
| | | | | | DECREF otherset rather than XDECREF in error conditions too. Reported by Klockwork #154.
* Stop INCREFing name, then checking if it's NULL. name (f_name) should neverNeal Norwitz2006-07-171-3/+6
| | | | | | be NULL so assert it. Fix one place where we could have passed NULL. Reported by Klocwork #66.
* PyFunction_SetDefaults() is documented as taking None or a tuple.Neal Norwitz2006-07-161-2/+2
| | | | | | A NULL would crash the PyTuple_Check(). Now make NULL return a SystemError. Reported by Klocwork #73.
* Handle a NULL name properly.Neal Norwitz2006-07-161-3/+3
| | | | Reported by Klocwork #67
* Use sizeof(buffer) instead of duplicating the constants to ensure they won'tNeal Norwitz2006-07-161-7/+7
| | | | | | | | | be wrong. The real change is to pass (bufsz - 1) to PyOS_ascii_formatd and 1 to strncat. strncat copies n+1 bytes from src (not dest). Reported by Klocwork #58.
* a & b were dereffed above, so they are known to be valid pointers.Neal Norwitz2006-07-161-3/+2
| | | | | | z is known to be NULL, nothing to DECREF. Reported by Klockwork, #107.
* Fix uninitialized memory read reported by Valgrind when running doctest.Neal Norwitz2006-07-121-0/+1
| | | | This could happen if size == 0.
* Fix build problems with the platform SDK on windows. It is not sufficient ↵Kristján Valur Jónsson2006-07-032-4/+4
| | | | to test for the C compiler version when determining if we have the secure CRT from microsoft. Must test with an undocumented macro, __STDC_SECURE_LIB__ too.
* Put method-wrappers into trashcan. Fixes #927248.Martin v. Löwis2006-07-031-1/+3
|
* Another problem reported by Coverity. Backport candidate.Neal Norwitz2006-06-301-0/+2
|
* Fix refleakNeal Norwitz2006-06-231-1/+3
|
* Fix for an obscure bug introduced by revs 46806 and 46808, with a test.Armin Rigo2006-06-212-11/+10
| | | | | | | | | | | | | | The problem of checking too eagerly for recursive calls is the following: if a RuntimeError is caused by recursion, and if code needs to normalize it immediately (as in the 2nd test), then PyErr_NormalizeException() needs a call to the RuntimeError class to instantiate it, and this hits the recursion limit again... causing PyErr_NormalizeException() to never finish. Moved this particular recursion check to slot_tp_call(), which is not involved in instantiating built-in exceptions. Backport candidate.
* Use Py_ssize_tNeal Norwitz2006-06-191-22/+22
|
* Patch #1507676: improve exception messages in abstract.c, object.c and ↵Georg Brandl2006-06-183-64/+81
| | | | typeobject.c.
* Patch #1455898: Incremental mode for "mbcs" codec.Martin v. Löwis2006-06-141-39/+175
|