diff --git a/src/common/CalculatorEngineCommon/exprtk.hpp b/src/common/CalculatorEngineCommon/exprtk.hpp index 6ad76542f46e..ebe2055176e8 100644 --- a/src/common/CalculatorEngineCommon/exprtk.hpp +++ b/src/common/CalculatorEngineCommon/exprtk.hpp @@ -44248,6 +44248,11 @@ namespace exprtk const std::size_t fd_size = sizeof(details::file_descriptor*); details::file_descriptor* fd = reinterpret_cast(0); + if (sizeof(T) < fd_size) + { + throw std::runtime_error("exprtk::rtl::io::file - Error - pointer size larger than holder."); + } + std::memcpy(reinterpret_cast(&fd), reinterpret_cast(&v ), fd_size);