python/cpython

Commits on Oct 19, 2020

Commits on Oct 18, 2020

Commits on Oct 17, 2020

Commits on Oct 16, 2020

  1. closes bpo-42030: Remove legacy AIX dynload support (GH-22717)

    Since c19c5a6, AIX builds have defaulted to using dynload_shlib over
    dynload_aix when dlopen is available. This function has been available
    since AIX 4.3, which went out of support in 2003, the same year the
    previously referenced commit was made. It has been nearly 20 years
    since a version of AIX has been supported which has not used
    dynload_shlib so there's no reason to keep this legacy code around.

Commits on Oct 15, 2020

  1. bpo-41894: Fix UnicodeDecodeError while loading native module (GH-22466)

    When running in a non-UTF-8 locale, if an error occurs while importing a
    native Python module (say because a dependent share library is missing),
    the error message string returned may contain non-ASCII code points
    causing a UnicodeDecodeError.
    
    PyUnicode_DecodeFSDefault is used for buffers which may contain
    filesystem  paths. For consistency with os.strerror(),
    PyUnicode_DecodeLocale is used for buffers which contain system error
    messages. While the shortname parameter is always encoded in ASCII
    according to PEP 489, it is left decoded using PyUnicode_FromString to
    minimize the changes and since it should not affect the decoding (albeit
    _potentially_ slower).
    
    In dynload_hpux, since the error buffer contains a message generated
    from a static ASCII string and the module filesystem path,
    PyUnicode_DecodeFSDefault is used instead of PyUnicode_DecodeLocale as
    is used elsewhere.
    
    * bpo-41894: Fix bugs in dynload error msg handling
    
    For both dynload_aix and dynload_hpux, properly handle the possibility
    that decoding strings may return NULL and when such an error happens,
    properly decrement any previously decoded strings and return early.
    
    In addition, in dynload_aix, ensure that we pass the decoded string
    *object* pathname_ob to PyErr_SetImportError instead of the original
    pathname buffer.
    
    Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>

Commits on Oct 14, 2020

Commits on Oct 13, 2020

  1. bpo-40422: Move _Py_closerange to fileutils.c (GH-22680)

    This API is relatively lightweight and organizationally, given that it's
    used by multiple modules, it makes sense to move it to fileutils.
    
    Requires making sure that _posixsubprocess is compiled with the appropriate
    Py_BUIILD_CORE_BUILTIN macro.

Commits on Oct 12, 2020