muparser 2.3.2
Changes To version 2.3.1:
Two different prereleases of v2.3.1 existed. The second one fixed the issue with the final keyword. To avoid confusion the second prerelease is now the official release with the version number 2.3.2.
Changes To version 2.3.0:
- removed final keyword from parser class (https://github.com/highperformancecoder/scidavis/issues/139)
Security Fixes:
The issues following issues were fixed. They are present in all prior releases
Changes (compared to 2.2.6):
- using OpenMP is now the default settings for cmake based builds
- added optimization for trivial expressions. (Expressions whose RPN only has a single entry)
- introduced a maximum length for expressions (5000 Character)
- introduced a maximum length for identifiers (100 Characters)
- removed the MUP_MATH_EXCEPTION macro and related functionality. (C++ exceptions for divide by zero or sqrt of a negative number are no longer supported)
- removed ParserStack.h (replaced with std::stack)
- removed macros for defining E and PI (replaced with a static constants)
- the MUP_ASSERT macro is no longer removed in release builds for better protection against segmentation faults
Security Fixes:
The issues following issues were fixed. They are present in previous stable releases.
- Prevented multiple access violations for malformed expressions with if then else and functions taking multiple arguments like "sum(0?1,2,3,4:5)"
- https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=23330
- https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=22922
- https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=22938
- https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=23330
- Added additional runtime checks for release builds to prevent segmentation faults for invalid expressions
Bugfixes:
- Fixed an issue where the bulk mode could hang on GCC/CLANG builds due to OpenMP chunksize dropping below 1.