mirror of
https://github.com/Icinga/icinga2.git
synced 2025-11-28 09:33:49 +01:00
Merge commit from fork
DerefExpression: Add missing nullptr check
This commit is contained in:
commit
cfff82ba05
@ -187,6 +187,10 @@ bool DerefExpression::GetReference(ScriptFrame& frame, bool init_dict, Value *pa
|
|||||||
|
|
||||||
Reference::Ptr ref = operand.GetValue();
|
Reference::Ptr ref = operand.GetValue();
|
||||||
|
|
||||||
|
if (!ref) {
|
||||||
|
BOOST_THROW_EXCEPTION(ScriptError("Invalid reference specified.", GetDebugInfo()));
|
||||||
|
}
|
||||||
|
|
||||||
*parent = ref->GetParent();
|
*parent = ref->GetParent();
|
||||||
*index = ref->GetIndex();
|
*index = ref->GetIndex();
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
@ -242,6 +242,10 @@ BOOST_AUTO_TEST_CASE(advanced)
|
|||||||
expr = ConfigCompiler::CompileText("<test>", "{{ 3 }}");
|
expr = ConfigCompiler::CompileText("<test>", "{{ 3 }}");
|
||||||
func = expr->Evaluate(frame).GetValue();
|
func = expr->Evaluate(frame).GetValue();
|
||||||
BOOST_CHECK(func->Invoke() == 3);
|
BOOST_CHECK(func->Invoke() == 3);
|
||||||
|
|
||||||
|
// Regression test for CVE-2025-61908
|
||||||
|
expr = ConfigCompiler::CompileText("<test>", "&*null");
|
||||||
|
BOOST_CHECK_THROW(expr->Evaluate(frame).GetValue(), ScriptError);
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOST_AUTO_TEST_CASE(sandboxed_ticket_salt)
|
BOOST_AUTO_TEST_CASE(sandboxed_ticket_salt)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user