[libc++] Disable CFI in __libcpp_allocate (#124805)

Since we're casting uninitialized memory, we must disable CFI checks.
This commit is contained in:
Louis Dionne 2025-01-28 15:43:21 -05:00 committed by GitHub
parent 9d8dc45d17
commit 9f660625be
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -50,7 +50,8 @@ _LIBCPP_HIDE_FROM_ABI void __libcpp_operator_delete(_Args... __args) _NOEXCEPT {
}
template <class _Tp>
inline _LIBCPP_HIDE_FROM_ABI _Tp* __libcpp_allocate(__element_count __n, size_t __align = _LIBCPP_ALIGNOF(_Tp)) {
inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_NO_CFI _Tp*
__libcpp_allocate(__element_count __n, size_t __align = _LIBCPP_ALIGNOF(_Tp)) {
size_t __size = static_cast<size_t>(__n) * sizeof(_Tp);
#if _LIBCPP_HAS_ALIGNED_ALLOCATION
if (__is_overaligned_for_new(__align)) {