From a39ade4ccf99df845ec85c580fbbb324f71952fa Mon Sep 17 00:00:00 2001 From: Antonio Sanchez Date: Fri, 22 Mar 2024 15:05:34 -0700 Subject: [PATCH] Protect use of alloca. --- Eigen/src/Core/products/TriangularMatrixVector.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Eigen/src/Core/products/TriangularMatrixVector.h b/Eigen/src/Core/products/TriangularMatrixVector.h index 0e0e6902f..05a5827a9 100644 --- a/Eigen/src/Core/products/TriangularMatrixVector.h +++ b/Eigen/src/Core/products/TriangularMatrixVector.h @@ -301,9 +301,13 @@ struct trmv_selector { } else { // Allocate either with alloca or malloc. Eigen::internal::check_size_for_overflow(actualRhs.size()); +#ifdef EIGEN_ALLOCA buffer = static_cast((sizeof(RhsScalar) * actualRhs.size() <= EIGEN_STACK_ALLOCATION_LIMIT) ? EIGEN_ALIGNED_ALLOCA(sizeof(RhsScalar) * actualRhs.size()) : Eigen::internal::aligned_malloc(sizeof(RhsScalar) * actualRhs.size())); +#else + buffer = static_cast(Eigen::internal::aligned_malloc(sizeof(RhsScalar) * actualRhs.size())); +#endif } #ifdef EIGEN_DENSE_STORAGE_CTOR_PLUGIN Index size = actualRhs.size();