Fix nullptr dereference issue in triangular product.

This commit is contained in:
Antonio Sánchez 2023-07-27 22:10:21 +00:00 committed by Rasmus Munk Larsen
parent 7769eb1b2e
commit d4ae542ed1

View File

@ -422,6 +422,12 @@ struct triangular_product_impl<Mode,LhsIsTriangular,Lhs,false,Rhs,false>
internal::add_const_on_value_type_t<ActualLhsType> lhs = LhsBlasTraits::extract(a_lhs);
internal::add_const_on_value_type_t<ActualRhsType> rhs = RhsBlasTraits::extract(a_rhs);
// Empty product, return early. Otherwise, we get `nullptr` use errors below when we try to access
// coeffRef(0,0).
if (a_lhs.size() == 0 || a_rhs.size() == 0) {
return;
}
LhsScalar lhs_alpha = LhsBlasTraits::extractScalarFactor(a_lhs);
RhsScalar rhs_alpha = RhsBlasTraits::extractScalarFactor(a_rhs);
Scalar actualAlpha = alpha * lhs_alpha * rhs_alpha;