Commit Graph

7935 Commits

Author SHA1 Message Date
Victor Stinner 7a5be14dd8 Issue #18874: tracemalloc: Comment the trace_t structure 2013-11-26 01:06:02 +01:00
Victor Stinner de2f132a5e Issue #18874: tracemalloc: explain the purpose of get_traces.tracebacks in a comment 2013-11-26 00:26:23 +01:00
Victor Stinner 000de53624 Issue #19752: Fix "HAVE_DEV_PTMX" implementation of os.openpty()
Regression introduced by the implementation of the PEP 446 (non-inheritable
file descriptors by default).

master_fd must be set non-inheritable after the creation of the slave_fd,
otherwise grantpt(master_fd) fails with EPERM (errno 13).
2013-11-25 23:19:58 +01:00
Alexandre Vassalotti b4a04fb7e6 Reverting e39db21df580 eagerly due to buildbot failures. 2013-11-25 13:25:12 -08:00
Alexandre Vassalotti f94a041f8f Combine _Pickler_FastCall and _Unpickler_FastCall in cpickle. 2013-11-25 13:03:32 -08:00
Alexandre Vassalotti 1048fb5539 Issue #19739: Try to fix compiler warnings on 32-bit Windows. 2013-11-25 11:35:46 -08:00
Victor Stinner 4fbefdb217 Close #19762: Fix name of _get_traces() and _get_object_traceback() function
name in their docstring. Patch written by Vajrasky Kok.
2013-11-25 09:33:18 +01:00
Alexandre Vassalotti ded929b300 Merge save_int into save_long in cpickle to remove redundant code.
Also, replace unnessary uses of the #if preprocessor directive.
2013-11-24 22:41:13 -08:00
Alexandre Vassalotti 8a67f52463 Simplify save_bool in cpickle. 2013-11-24 21:40:18 -08:00
Alexandre Vassalotti ed8c906127 Use Clinic to process arguments in cpickle.
This doesn't make any functional changes to the exisiting implementation.  The
conversion did help however uncover documentation bugs. The best thing about
this conversion is less C code to maintain by hand.
2013-11-24 12:25:48 -08:00
Stefan Krah daa96b7669 Merge from 3.3. 2013-11-24 19:56:23 +01:00
Stefan Krah 45059eb1d0 1) Prepare libmpdec for the 2.4.0 release. None of the following changes affects
_decimal:

      o Make all "mpd_t to C integer" conversion functions available in both the
        64-bit and the 32-bit versions.

      o Make all mixed mpd_t/C integer arithmetic functions available in the
        32-bit version.

      o Better handling of __STDC_LIMIT_MACROS for C++ users.

      o Add struct tags (at the request of C++ users).

2) Check for libmpdec.so.2 if --with-system-libmpdec is used.
2013-11-24 19:44:57 +01:00
Victor Stinner 7587507a97 Issue #19636: Fix usage of MAX_PATH in posixmodule.c 2013-11-24 19:23:25 +01:00
Victor Stinner 6edddfaf5b Issue #19636: Fix posix__getvolumepathname(), raise an OverflowError if
the length doesn't fit in an DWORD
2013-11-24 19:22:57 +01:00
Eli Bendersky 163d7f02a1 Cosmetic fixes 2013-11-24 06:55:04 -08:00
Larry Hastings dc6aaec9e3 Clinic: fix "self converters" with METH_NOARGS functions. 2013-11-24 04:41:57 -08:00
Victor Stinner 08facd2009 Issue #19741: cleanup tracemalloc_realloc()
Explain that unhandled error case is very unlikely
2013-11-24 12:27:59 +01:00
Alexandre Vassalotti fc91285c93 Remove code path in cpickle that does not exist in pickle. 2013-11-24 03:07:35 -08:00
Victor Stinner 52968676f1 Issue #19741: tracemalloc: report tracemalloc_log_alloc() failure to the caller
for new allocations, but not when a memory block was already resized
2013-11-24 11:37:15 +01:00
Alexandre Vassalotti c49477b184 Make Ellipsis and NotImplemented picklable through the reduce protocol. 2013-11-24 02:53:45 -08:00
Alexandre Vassalotti 4c05d3bc56 Make built-in methods picklable through the reduce protocol. 2013-11-24 02:41:05 -08:00
Victor Stinner d606ba7f55 Issue #19741: fix tracemalloc_log_alloc(), handle _Py_HASHTABLE_SET() failure 2013-11-24 11:28:20 +01:00
Alexandre Vassalotti b6a2f2a0d1 Make framing optional in pickle protocol 4.
This will allow us to control in the future whether to use framing or not.
For example, we may want to turn it off for tiny pickle where it doesn't
help.

The change also improves performance slightly:

### fastpickle ###
Min: 0.608517 -> 0.557358: 1.09x faster
Avg: 0.798892 -> 0.694738: 1.15x faster
Significant (t=3.45)
Stddev: 0.17145 -> 0.12704: 1.3496x smaller
Timeline: http://goo.gl/3xQE1J

### pickle_dict ###
Min: 0.669920 -> 0.615271: 1.09x faster
Avg: 0.733633 -> 0.645058: 1.14x faster
Significant (t=5.05)
Stddev: 0.12041 -> 0.02961: 4.0662x smaller
Timeline: http://goo.gl/LpLSXI

### pickle_list ###
Min: 0.397583 -> 0.368112: 1.08x faster
Avg: 0.412784 -> 0.397223: 1.04x faster
Significant (t=2.78)
Stddev: 0.01518 -> 0.03653: 2.4068x larger
Timeline: http://goo.gl/v39E59

### unpickle_list ###
Min: 0.692935 -> 0.594870: 1.16x faster
Avg: 0.730012 -> 0.628395: 1.16x faster
Significant (t=17.76)
Stddev: 0.02720 -> 0.02995: 1.1012x larger
Timeline: http://goo.gl/2P9AEt

The following not significant results are hidden, use -v to show them:
fastunpickle.
2013-11-23 20:30:03 -08:00
Larry Hastings 44e2eaab54 Issue #19674: inspect.signature() now produces a correct signature
for some builtins.
2013-11-23 15:37:55 -08:00
Larry Hastings ebdcb50b8a Issue #19730: Argument Clinic now supports all the existing PyArg
"format units" as legacy converters, as well as two new features:
"self converters" and the "version" directive.
2013-11-23 14:54:00 -08:00
Larry Hastings 3a9079742f Issue #19722: Added opcode.stack_effect(), which accurately
computes the stack effect of bytecode instructions.
2013-11-23 14:49:22 -08:00
Serhiy Storchaka 32eddc1bbc Issue #16203: Add re.fullmatch() function and regex.fullmatch() method,
which anchor the pattern at both ends of the string to match.

Original patch by Matthew Barnett.
2013-11-23 23:20:30 +02:00
Serhiy Storchaka 5c24d0e504 Issue #13592: Improved the repr for regular expression pattern objects.
Based on patch by Hugo Lopes Tavares.
2013-11-23 22:42:43 +02:00
Antoine Pitrou c1207c1bcf Fix signed / unsigned comparison 2013-11-23 21:34:04 +01:00
Serhiy Storchaka 3062c9a6c8 Issue #19641: Added the audioop.byteswap() function to convert big-endian
samples to little-endian and vice versa.
2013-11-23 22:26:01 +02:00
Gregory P. Smith 2b38fc187c gcc doesn't realize that dummy is always initialized by the function call
and warns about potential uninitialized use.
Silence that by initializing it to null.
2013-11-23 20:21:28 +00:00
Christian Heimes 310e4c43cd merge 2013-11-23 21:14:01 +01:00
Christian Heimes e8b1ba1699 Issue #17810: Add two missing error checks to save_global
CID 1131946:  Unchecked return value  (CHECKED_RETURN)
2013-11-23 21:13:39 +01:00
Serhiy Storchaka dd52c5a1c4 Merge heads 2013-11-23 22:12:36 +02:00
Serhiy Storchaka 6787a3806e Issue #15204: Deprecated the 'U' mode in file-like objects. 2013-11-23 22:12:06 +02:00
Antoine Pitrou 6188d09f1c Merge 2013-11-23 21:06:21 +01:00
Christian Heimes 74d8d63b18 Issue #17810: return -1 on error 2013-11-23 21:05:31 +01:00
Antoine Pitrou 8f2ee6e407 Fix writing out 64-bit size fields on 32-bit builds 2013-11-23 21:05:08 +01:00
Christian Heimes b3d3ee4fef Issue #17810: Add NULL check to save_frozenset
CID 1131949:  Dereference null return value  (NULL_RETURNS)
2013-11-23 21:01:40 +01:00
Antoine Pitrou c9dc4a2a8a Issue #17810: Implement PEP 3154, pickle protocol 4.
Most of the work is by Alexandre.
2013-11-23 18:59:12 +01:00
doko@ubuntu.com 46c5deb130 - Modules/_struct.c (unpackiter_type): Define static. 2013-11-23 16:07:55 +01:00
Antoine Pitrou 91a7af3e48 Issue #19727: os.utime(..., None) is now potentially more precise under Windows. 2013-11-23 15:23:26 +01:00
Victor Stinner 93965f7a6b Issue #19634: time.strftime("%y") now raises a ValueError on Solaris when given
a year before 1900.
2013-11-23 14:59:33 +01:00
Victor Stinner 3728d6ced0 Issue #18874: Remove tracemalloc.set_traceback_limit()
tracemalloc.start() now has an option nframe parameter
2013-11-23 12:37:20 +01:00
Victor Stinner ed3b0bca3e Issue #18874: Implement the PEP 454 (tracemalloc) 2013-11-23 12:27:24 +01:00
Christian Heimes 2427b50fdd Issue #8813: X509_VERIFY_PARAM is only available on OpenSSL 0.9.8+
The patch removes the verify_flags feature on Mac OS X 10.4 with OpenSSL 0.9.7l 28 Sep 2006.
2013-11-23 11:24:32 +01:00
Christian Heimes 5398e1a56e Issue #19448: report name / NID in exception message of ASN1Object 2013-11-22 16:20:53 +01:00
Christian Heimes f22e8e5426 Issue #18147: Add missing documentation for SSLContext.get_ca_certs().
Also change the argument name to the same name as getpeercert()
2013-11-22 02:22:51 +01:00
Christian Heimes 44109d7de7 Issue #17134: Finalize interface to Windows' certificate store. Cert and
CRL enumeration are now two functions. enum_certificates() also returns
purpose flags as set of OIDs.
2013-11-22 01:51:30 +01:00
Christian Heimes ba723200ce silence an overflow warning. slen is smaller than 1MB 2013-11-22 00:46:18 +01:00
Christian Heimes 1dbf61fa46 downcast len to int. The code has already checked that len < INT_MAX 2013-11-22 00:34:18 +01:00
Christian Heimes 18fc7be80d lst might be NULL here
CID 1130752:  Dereference after null check  (FORWARD_NULL)
2013-11-21 23:57:49 +01:00
Christian Heimes 225877917e Issue #8813: Add SSLContext.verify_flags to change the verification flags
of the context in order to enable certification revocation list (CRL)
checks or strict X509 rules.
2013-11-21 23:56:13 +01:00
Victor Stinner e079eddf21 Close #18294: Fix the zlib module to make it 64-bit safe 2013-11-21 22:33:21 +01:00
Christian Heimes 949ec14209 Issue #19682: Fix compatibility issue with old version of OpenSSL that
was introduced by Issue #18379.
2013-11-21 16:26:51 +01:00
Christian Heimes bd3a7f90b5 Issue #18379: SSLSocket.getpeercert() returns CA issuer AIA fields, OCSP
and CRL distribution points.
2013-11-21 03:40:15 +01:00
Christian Heimes efff7060f8 Issue #18138: Implement cadata argument of SSLContext.load_verify_location()
to load CA certificates and CRL from memory. It supports PEM and DER
encoded strings.
2013-11-21 03:35:02 +01:00
Larry Hastings abc716b058 Issue #19474: Argument Clinic now always specifies a default value for
variables in option groups, to prevent "uninitialized value" warnings.
2013-11-20 09:13:52 -08:00
Christian Heimes 985ecdcfc2 ssue #19183: Implement PEP 456 'secure and interchangeable hash algorithm'.
Python now uses SipHash24 on all major platforms.
2013-11-20 11:46:18 +01:00
Victor Stinner e106e5ce4b Issue #19437: Fix error handling of PyCArrayType_new(), don't decreases the
reference counter of stgdict after result stole a reference to it
2013-11-18 18:37:33 +01:00
Victor Stinner 2399ad51d4 Issue #19437: Fix error handling of CDataType_from_buffer()
KeepRef() decreases the reference counter of its 'keep' parameter on error
2013-11-18 18:35:55 +01:00
Larry Hastings ed4a1c5703 Argument Clinic: rename "self" to "module" for module-level functions. 2013-11-18 09:32:13 -08:00
Christian Heimes 85ba92a0b8 GetVolumePathNameW: downcast bufsize to DWORD 2013-11-18 10:30:42 +01:00
Christian Heimes b08ff7dcb4 Safely downcast SOCKET_T to int in _ssl module 2013-11-18 10:04:07 +01:00
Christian Heimes cc6cdce750 Remove unused code path from PBKDF2 that is causing a warning on Win64 2013-11-18 09:59:44 +01:00
Zachary Ware 7f4bf9fb10 Issue #19520: Fix (the last!) compiler warning on 32bit Windows, in _sha3 2013-11-17 16:08:23 -06:00
Victor Stinner 136f064b93 Issue #19634: Fix time_strftime() on AIX, format is a wchar_t* not a PyObject* 2013-11-18 02:43:29 +01:00
Victor Stinner afccb0a821 sqlite: Use Py_ssize_t to store a size instead of an int
Fix a compiler warning on Windows 64-bit
2013-11-18 02:07:29 +01:00
Victor Stinner 3f658bec35 sqlite: raise an OverflowError if a string or a BLOB is longer than INT_MAX
bytes

Fix compiler warnings on Windows 64-bit
2013-11-18 01:36:29 +01:00
Victor Stinner 83e30bf4bd Fix a compiler warning on Windows 64-bit: _sqlite module 2013-11-18 01:27:30 +01:00
Victor Stinner 83ed42bfbf sqlite: raise an OverflowError if the result is longer than INT_MAX bytes
Fix a compiler warning on Windows 64-bit
2013-11-18 01:24:31 +01:00
Victor Stinner 55329f8fbd Issue #19634: time.strftime("%y") now raises a ValueError on AIX when given a
year before 1900.
2013-11-17 23:39:21 +01:00
Gregory P. Smith 61b976f127 Fix compilation error under gcc of the ctypes module bundled libffi for arm.
A variable was declared below the top of a block and one function was using
a K&R C style function declaration!
2013-11-17 21:57:43 +00:00
Gregory P. Smith 7929a1da1a Fix compilation error under gcc of the ctypes module bundled libffi for arm.
A variable was declared below the top of a block and one function was using
a K&R C style function declaration!
2013-11-17 21:56:07 +00:00
Christian Heimes a6bc95aa02 Issue #19448: Add private API to SSL module to lookup ASN.1 objects by OID, NID, short name and long name. 2013-11-17 19:59:14 +01:00
Richard Oudkerk 633db6f6a6 Issue #19565: Prevent warnings at shutdown about pending overlapped ops. 2013-11-17 13:15:51 +00:00
Nick Coghlan c610aba1ed Close #19282: Native context management in dbm 2013-11-17 15:59:51 +10:00
Victor Stinner 72967a4c1a calculate_path() now fails with a fatal error when it fails to allocate memory
for module_search_path. It was already the case on _Py_char2wchar() failure.
2013-11-16 01:22:04 +01:00
Tim Golden 6e51b8ff0f Issue13674 Correct crash with strftime %y format under Windows 2013-11-12 12:36:54 +00:00
Victor Stinner ce4179d022 Don't mix wide character strings and byte strings (L"lib/python" VERSION): use
_Py_char2wchar() to decode lib_python instead.

Some compilers don't support concatenating literals: L"wide" "bytes". Example:
IRIX compiler.
2013-11-16 00:45:54 +01:00
Victor Stinner c1a57d306c Fix compiler warnings on Windows 64 bit: add an explicit cast from Py_ssize_t
to int, password.len was checked for being smaller than INT_MAX.
2013-11-16 00:27:16 +01:00
Victor Stinner e990c6e952 Fix sock_recvfrom_guts(): recvfrom() size is limited to an int on Windows, not
on other OSes!
2013-11-16 00:18:58 +01:00
Victor Stinner 3b5901143d Fix compiler warning on Windows 64 bit: _init_pos_args() result type is
Py_ssize_t, not int
2013-11-16 00:17:22 +01:00
Victor Stinner f558778f07 Fix compiler warning (especially on Windows 64-bit): don't truncate Py_ssize_t
to int
2013-11-15 23:21:11 +01:00
Victor Stinner 1109b54e03 Fix compiler warning on Windows 64-bit: explicit cast size_t to unsigned long 2013-11-15 23:16:15 +01:00
Victor Stinner b03142782c Issue #19437: Fix parse_envlist() of the posix/nt module, don't call
PyMapping_Values() with an exception set, exit immediatly on error.
2013-11-14 21:37:05 +01:00
Victor Stinner b80b378680 Issue #19437: Fix parse_save_field() of the csv module, handle PyList_Append()
failure
2013-11-14 21:29:34 +01:00
Victor Stinner 541067a640 Issue #19437: Fix array.buffer_info(), handle PyLong_FromVoidPtr() and
PyLong_FromLong() failure
2013-11-14 01:27:12 +01:00
Victor Stinner 804e05e800 Issue #19437: Use an identifier for "__name__" string in pickle to improve
error handling

The following code didn't handle correctly the failure of
PyUnicode_InternFromString("__name__").

if (newobj_str == NULL) {
    newobj_str = PyUnicode_InternFromString("__newobj__");
    name_str = PyUnicode_InternFromString("__name__");
    if (newobj_str == NULL || name_str == NULL)
        return -1;
}
2013-11-14 01:26:17 +01:00
Victor Stinner 59799a8399 Don't use deprecated function PyUnicode_GET_SIZE()
Replace it with PyUnicode_GET_LENGTH() or PyUnicode_AsUnicodeAndSize()
2013-11-13 14:17:30 +01:00
Victor Stinner e223439c13 Issue #19437: Fix ctypes, handle PyCData_GetContainer() and GetKeepedObjects()
failures
2013-11-13 13:29:37 +01:00
Victor Stinner 588544d186 Issue #19437: Fix GetKeepedObjects() of ctypes, handle PyCData_GetContainer()
failure
2013-11-13 13:24:50 +01:00
Victor Stinner 7184366dab Issue #19437: Fix PyCData_GetContainer() of ctypes, handle PyDict_New() failure 2013-11-13 13:23:35 +01:00
Victor Stinner 651f9f77f3 Issue #19515: Remove duplicated identifiers in zipimport.c 2013-11-12 21:44:18 +01:00
Victor Stinner 3f36a5736b Issue #19515: Remove identifiers duplicated in the same file.
Patch written by Andrei Dorian Duma.
2013-11-12 21:39:02 +01:00
Tim Golden bbe268f583 Issue13674 Correct crash with strftime %y format under Windows 2013-11-12 12:48:20 +00:00
Serhiy Storchaka 23a7827c45 Fixed compile error on Windows caused by arithmetic with void * pointers
(issue #16685).
2013-11-11 07:47:35 +02:00
Serhiy Storchaka 711e91b283 Issue #16685: Added support for any bytes-like objects in the audioop module.
Removed support for strings.
2013-11-10 21:44:36 +02:00
Jason R. Coombs 8ec784c2df Issue #7171: Update syntax to replace MAX in favor of Py_MAX (matching implementation for Unix). 2013-11-10 13:43:22 -05:00
Stefan Krah 2fdf4e7b9b Move PyErr_NoMemory() closer to the failure. 2013-11-08 18:05:02 +01:00