[all-commits] [llvm/llvm-project] 18df9d: [libc++] Add an ABI setting to harden unique_ptr<T...

Louis Dionne via All-commits all-commits at lists.llvm.org
Mon Sep 30 05:33:57 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 18df9d23ea390eaa50b41f3083a42f700a2b0e39
      https://github.com/llvm/llvm-project/commit/18df9d23ea390eaa50b41f3083a42f700a2b0e39
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-09-30 (Mon, 30 Sep 2024)

  Changed paths:
    M libcxx/cmake/caches/Generic-hardening-mode-fast-with-abi-breaks.cmake
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__configuration/abi.h
    A libcxx/include/__memory/array_cookie.h
    M libcxx/include/__memory/unique_ptr.h
    M libcxx/include/module.modulemap
    M libcxx/test/libcxx/containers/associative/unord.map/abi.compile.pass.cpp
    M libcxx/test/libcxx/containers/associative/unord.set/abi.compile.pass.cpp
    A libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/incomplete.sh.cpp
    A libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.observers/assert.subscript.pass.cpp
    M libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.observers/get.pass.cpp
    M libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.observers/op_subscript.runtime.pass.cpp
    M libcxx/utils/libcxx/test/features.py

  Log Message:
  -----------
  [libc++] Add an ABI setting to harden unique_ptr<T[]>::operator[] (#91798)

This allows catching OOB accesses inside `unique_ptr<T[]>` when the size
of the allocation is known. The size of the allocation can be known when
the unique_ptr has been created with make_unique & friends or when the
type necessitates an array cookie before the allocation.

This is a re-aplpication of 45a09d181 which had been reverted in
f11abac6 due to unrelated CI failures.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list