1. 20 Apr, 2018 3 commits
    • xdegaye's avatar
      bpo-32232: by default, Setup modules are no longer built with -DPy_BUILD_CORE (GH-6489) · 063db62a
      xdegaye authored
      Setup modules are no longer built with -DPy_BUILD_CORE by default,
      as using that flag may now require including additional internal-only header files.
      
      Instead, only the modules that specifically need it use that setting.
      063db62a
    • Serhiy Storchaka's avatar
    • Gregory P. Smith's avatar
      bpo-33312: Fix clang ubsan out of bounds warnings in dict. (GH-6537) · 397f1b28
      Gregory P. Smith authored
      Fix clang ubsan (undefined behavior sanitizer) warnings in dictobject.c by
      adjusting how the internal struct _dictkeysobject shared keys structure is
      declared.
      
      This remains ABI compatible.  We get rid of the union at the end of the
      struct being used for conveinence to avoid typecasting in favor of char[]
      variable length array at the end of a struct. This is known to clang to be
      used for variable sized objects and will not cause an undefined behavior
      problem.  Similarly, char arrays do not have strict aliasing undefined
      behavior when cast.
      
      PEP-007 does not currently list variable length arrays (VLAs) as allowed
      in our subset of C99.  If this turns out to be a problem, the fix to this is
      to change the char `dk_indices[]` into `dk_indices[1]` and restore the
      three size computation subtractions this change removes:
        `- Py_MEMBER_SIZE(PyDictKeysObject, dk_indices)`
      
      If this works as is I'll make a separate PR to update PEP-007.
      397f1b28
  2. 19 Apr, 2018 4 commits
  3. 18 Apr, 2018 2 commits
  4. 17 Apr, 2018 9 commits
  5. 16 Apr, 2018 4 commits
  6. 15 Apr, 2018 4 commits
  7. 14 Apr, 2018 2 commits
  8. 13 Apr, 2018 2 commits
  9. 11 Apr, 2018 2 commits
  10. 10 Apr, 2018 2 commits
  11. 09 Apr, 2018 6 commits