Commit graph

7630 commits

Author SHA1 Message Date
Raymond Hettinger
77578204d6 Restore the data block size to 62.
The former block size traded away good fit within cache lines in
order to gain faster division in deque_item().  However, compilers
are getting smarter and can now replace the slow division operation
with a fast integer multiply and right shift.  Accordingly, it makes
sense to go back to a size that lets blocks neatly fill entire
cache-lines.

GCC-4.8 and CLANG 4.0 both compute "x // 62" with something
roughly equivalent to "x * 9520900167075897609 >> 69".
2013-07-28 02:39:49 -07:00
Raymond Hettinger
3223dd5c22 Assertions key off NDEBUG 2013-07-26 23:14:22 -07:00
Victor Stinner
c588feeea9 Issue #15893: Improve error handling in main() and Py_FrozenMain()
* handle _PyMem_RawStrdup() failure
* Py_FrozenMain() releases memory on error
* Py_FrozenMain() duplicates the old locale, as done in main()
2013-07-27 02:39:09 +02:00
Victor Stinner
36577e4e8c Issue #15893: frozenmain.c now handles PyMem_Malloc() failure 2013-07-27 01:04:56 +02:00
Christian Heimes
f6e7e36c3d Issue #18561: Skip name in ctypes' _build_callargs() if name is NULL.
CID 486199
2013-07-26 23:04:39 +02:00
Christian Heimes
6ca8a05f10 Issue #18561: Skip name in ctypes' _build_callargs() if name is NULL.
CID 486199
2013-07-26 23:04:29 +02:00
Christian Heimes
f446d21708 Issue #18559: Fix NULL pointer dereference error in _pickle module 2013-07-26 22:45:47 +02:00
Christian Heimes
9ee5c37c8f Issue #18559: Fix NULL pointer dereference error in _pickle module 2013-07-26 22:45:00 +02:00
Victor Stinner
d4095d95f8 Issue #18519: the Python authorizer callback of sqlite3 must not raise Python exceptions
The exception is printed if sqlite3.enable_callback_tracebacks(True) has been
called, otherwise the exception is cleared.
2013-07-26 22:23:33 +02:00
Christian Heimes
ebf4204e84 Handle yet another potential failure in testcapi
CID 1058280
2013-07-26 15:54:13 +02:00
Christian Heimes
66eda26a72 Handle yet another potential failure in testcapi
CID 1058280
2013-07-26 15:54:07 +02:00
Christian Heimes
9bfcaa6fb3 Check return value of PyLong_FromLong(X509_get_version()). It might be NULL if
X509_get_version() grows beyond our small int cache.
CID 1058279
2013-07-26 15:51:35 +02:00
Christian Heimes
5962bef8aa Check return value of PyLong_FromLong(X509_get_version()). It might be NULL if
X509_get_version() grows beyond our small int cache.
CID 1058279
2013-07-26 15:51:18 +02:00
Christian Heimes
dd6f3899f7 remove surplus and wrong Py_DECREF() introduced in 33891989c9cf 2013-07-26 15:26:26 +02:00
Christian Heimes
ec2309b03d remove surplus and wrong Py_DECREF() introduced in 33891989c9cf 2013-07-26 15:26:18 +02:00
Christian Heimes
cb7ca526e8 Fix memory leaks and add checks for failing malloc() calls to testcapi module
CID 1058288
Fix declaration-after-statement of d49f65ff4f3c
2013-07-26 15:07:34 +02:00
Christian Heimes
3205e74d88 Fix declaration-after-statement of d49f65ff4f3c 2013-07-26 15:06:48 +02:00
Christian Heimes
7e138027ff Fix memory leaks and add checks for failing malloc() calls to testcapi module
CID 1058288
2013-07-26 15:03:50 +02:00
Christian Heimes
5e3de55b01 Fix possible NULL pointer dereferences in testcapi module
CID 1058280
CID 1058282
CID 1058284
2013-07-26 14:52:26 +02:00
Christian Heimes
ff369a5595 Fix possible NULL pointer dereferences in testcapi module
CID 1058280
CID 1058282
CID 1058284
2013-07-26 14:52:18 +02:00
Christian Heimes
ef86368ea6 Fix possible NULL pointer dereference in PyCurses_Start_Color()
CID 1058276
2013-07-26 14:46:02 +02:00
Christian Heimes
a956e645c1 Fix possible NULL pointer dereference in PyCurses_Start_Color()
CID 1058276
2013-07-26 14:45:37 +02:00
Brett Cannon
5d7c1b1a2b merge for issue #18556 2013-07-25 17:36:15 -04:00
Brett Cannon
845f7845aa Issue #18556: Check the return value for PyUnicode_AsWideChar() in
U_set() from ctypes.

CID #486657
2013-07-25 17:34:00 -04:00
Christian Heimes
7c8cd257e4 Issue #18549: Eliminate dead code in socket_ntohl().
CID 982369
2013-07-25 11:47:25 +02:00
Christian Heimes
9228837e31 Issue #18549: Eliminate dead code in socket_ntohl().
CID 982369
2013-07-25 11:46:10 +02:00
Ezio Melotti
3e1e97a99a #16937: merge with 3.3. 2013-07-25 05:04:50 +02:00
Ezio Melotti
61b0c672b5 #16937: document that stdin is always buffered, even when -u is used. Patch by Elena Oat. 2013-07-25 05:04:02 +02:00
Victor Stinner
1c8f059019 Issue #18520: Add a new PyStructSequence_InitType2() function, same than
PyStructSequence_InitType() except that it has a return value (0 on success,
-1 on error).

 * PyStructSequence_InitType2() now raises MemoryError on memory allocation failure
 * Fix also some calls to PyDict_SetItemString(): handle error
2013-07-22 22:24:54 +02:00
Christian Heimes
de0e63bd9c Issue #15905: Fix theoretical buffer overflow in handling of sys.argv[0],
prefix and exec_prefix if the operation system does not obey MAXPATHLEN.
2013-07-22 12:54:21 +02:00
Christian Heimes
60a6067709 Issue #15905: Fix theoretical buffer overflow in handling of sys.argv[0],
prefix and exec_prefix if the operation system does not obey MAXPATHLEN.
2013-07-22 12:53:32 +02:00
Victor Stinner
3a8573230c Issue #18488: Fix _pysqlite_final_callback()
Restore behaviour of Python 3.3: print the finalizer() error if
sqlite3.enable_callback_tracebacks() has been called, clear the error
otherwise.

But keep (save/restore) also the AttributeError raised in
_pysqlite_step_callback().
2013-07-22 08:34:32 +02:00
Christian Heimes
e5378e2223 Now all error paths of _freeze_importlib use 'goto error' and the error label cleans up all used resources. 2013-07-21 23:05:11 +02:00
Christian Heimes
43d82df406 Now all error paths of _freeze_importlib use 'goto error' and the error label cleans up all used resources. 2013-07-21 23:05:04 +02:00
Christian Heimes
71945880fb Issue #18514: Fix unreachable Py_DECREF() call in PyCData_FromBaseObj() 2013-07-21 16:25:30 +02:00
Christian Heimes
8c4c1f6e66 Issue #18514: Fix unreachable Py_DECREF() call in PyCData_FromBaseObj() 2013-07-21 16:24:51 +02:00
Christian Heimes
992fe2ab84 Fix reference and memory leaks in _freeze_importlib 2013-07-21 16:19:16 +02:00
Christian Heimes
96f628f487 Fix reference and memory leaks in _freeze_importlib 2013-07-21 16:19:02 +02:00
Victor Stinner
41801f5812 Issue #18519, #18408: Fix sqlite authorizer callback
If a previous call to the authorizer callback failed and raised an exception,
don't call the Python authorizer callback, but just return SQLITE_DENY.
2013-07-21 13:05:38 +02:00
Raymond Hettinger
b97cc49c3a Minor code simplification by eliminating an unnecessary temporary variable. 2013-07-21 01:51:07 -07:00
Christian Heimes
603bd2d374 Check return value of PyEval_GetGlobals() for NULL
CID 486814
2013-07-20 22:54:39 +02:00
Christian Heimes
a6404ad43c Check return value of PyEval_GetGlobals() for NULL
CID 486814
2013-07-20 22:54:25 +02:00
Christian Heimes
5df8ff01d9 Check return value of flush_character_buffer()
CID 486663
2013-07-20 22:42:06 +02:00
Christian Heimes
09994a9c59 Check return value of flush_character_buffer()
CID 486663
2013-07-20 22:41:58 +02:00
Mark Dickinson
60d634ae4a Issue #18513: Add workaround for OS X 10.8 cexp bug that leads to wrong cmath.rect(0.0,-0.0) results. 2013-07-20 18:00:06 +01:00
Mark Dickinson
58ceecfe5a Issue #18513: Add workaround for OS X 10.8 cexp bug that leads to wrong cmath.rect(0.0,-0.0) results. 2013-07-20 17:59:13 +01:00
Christian Heimes
2ef710e40f Add missing check of PyDict_Update()'s return value in _elementtree.c
CID 719637
2013-07-20 15:12:19 +02:00
Christian Heimes
7ed4294d7f Add missing check of PyDict_Update()'s return value in _elementtree.c
CID 719637
2013-07-20 15:12:09 +02:00
Christian Heimes
3f95bdcdbe Add missing check of PyDict_SetItem()'s return value
CID 486659
2013-07-20 15:01:36 +02:00
Christian Heimes
97cb67b9ca Add missing check of PyDict_SetItem()'s return value
CID 486659
2013-07-20 15:01:26 +02:00