diff --git a/cppu/source/uno/sequence.cxx b/cppu/source/uno/sequence.cxx index c467f2c38704..2d8b1da19f84 100644 --- a/cppu/source/uno/sequence.cxx +++ b/cppu/source/uno/sequence.cxx @@ -20,6 +20,7 @@ #include #include +#include #include #include @@ -227,6 +228,9 @@ static bool idefaultConstructElements( { typelib_TypeDescription * pElementTypeDescr = nullptr; TYPELIB_DANGER_GET( &pElementTypeDescr, pElementType ); + if (pElementTypeDescr == nullptr) { + std::abort(); + } sal_Int32 eEnum = reinterpret_cast( pElementTypeDescr)->nDefaultEnumValue; @@ -245,6 +249,9 @@ static bool idefaultConstructElements( { typelib_TypeDescription * pElementTypeDescr = nullptr; TYPELIB_DANGER_GET( &pElementTypeDescr, pElementType ); + if (pElementTypeDescr == nullptr) { + std::abort(); + } sal_Int32 nElementSize = pElementTypeDescr->nSize; if (nAlloc >= 0) @@ -471,6 +478,9 @@ static bool icopyConstructFromElements( { typelib_TypeDescription * pElementTypeDescr = nullptr; TYPELIB_DANGER_GET( &pElementTypeDescr, pElementType ); + if (pElementTypeDescr == nullptr) { + std::abort(); + } sal_Int32 nElementSize = pElementTypeDescr->nSize; pSeq = reallocSeq( pSeq, nElementSize, nAlloc ); @@ -522,6 +532,9 @@ static bool icopyConstructFromElements( { typelib_TypeDescription * pElementTypeDescr = nullptr; TYPELIB_DANGER_GET( &pElementTypeDescr, pElementType ); + if (pElementTypeDescr == nullptr) { + std::abort(); + } typelib_TypeDescriptionReference * pSeqElementType = reinterpret_cast(pElementTypeDescr)->pType; uno_Sequence ** pDestElements = reinterpret_cast(pSeq->elements); @@ -664,6 +677,9 @@ sal_Bool SAL_CALL uno_type_sequence_construct( { typelib_TypeDescription * pTypeDescr = nullptr; TYPELIB_DANGER_GET( &pTypeDescr, pType ); + if (pTypeDescr == nullptr) { + std::abort(); + } typelib_TypeDescriptionReference * pElementType = reinterpret_cast(pTypeDescr)->pType;