aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src/libparser/booleancondition.cpp
diff options
context:
space:
mode:
authorRenaud Guezennec <renaud@rolisteam.org>2024-12-28 15:00:29 +0100
committerRenaud Guezennec <renaud@rolisteam.org>2024-12-29 14:46:30 +0100
commit5c508b351a95f416e4a599f76902b888369de1b4 (patch)
treee3f6363fd7458fb0a46eabde6bd3a65b4746d798 /src/libparser/booleancondition.cpp
parent5515cd5a22ab97843f6ca1c234333ec110a9bab1 (diff)
downloadOneRoll-5c508b351a95f416e4a599f76902b888369de1b4.tar.gz
OneRoll-5c508b351a95f416e4a599f76902b888369de1b4.zip
Several fix from fuzzer test.
Diffstat (limited to 'src/libparser/booleancondition.cpp')
-rw-r--r--src/libparser/booleancondition.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/libparser/booleancondition.cpp b/src/libparser/booleancondition.cpp
index ab5b15d..12fb54b 100644
--- a/src/libparser/booleancondition.cpp
+++ b/src/libparser/booleancondition.cpp
@@ -93,6 +93,8 @@ BooleanCondition::~BooleanCondition()
}
qint64 BooleanCondition::hasValid(Die* b, bool recursive, bool unhighlight) const
{
+ if(!b)
+ return 0;
QList<qint64> listValues;
if(m_conditionType == Dice::OnEachValue)
{
@@ -185,7 +187,7 @@ Dice::CONDITION_STATE BooleanCondition::isValidRangeSize(const std::pair<qint64,
{
Dice::CONDITION_STATE state;
auto valueScalar= valueToScalar();
- qint64 boundValue= qBound(range.first, valueScalar, range.second);
+ qint64 boundValue= qBound(std::min(range.first, range.second), valueScalar, std::max(range.first, range.second));
bool isInsideRange= (boundValue == valueScalar);
switch(m_operator)
{