From 67156420d48d97d3bbaf00ae8bd8a22aab9cba60 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 28 Dec 2022 00:12:45 -0500 Subject: [PATCH] avoid out-of-range read --- lib/lepton/src/CompiledExpression.cpp | 4 ++-- lib/lepton/src/CompiledVectorExpression.cpp | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/lepton/src/CompiledExpression.cpp b/lib/lepton/src/CompiledExpression.cpp index a253368d53..f69ee1130d 100644 --- a/lib/lepton/src/CompiledExpression.cpp +++ b/lib/lepton/src/CompiledExpression.cpp @@ -549,7 +549,7 @@ void CompiledExpression::generateJitCode() { // Find the constant value (if any) used by this operation. Operation& op = *operation[step]; - double value; + double value = 0.0; if (op.getId() == Operation::CONSTANT) value = dynamic_cast(op).getValue(); else if (op.getId() == Operation::ADD_CONSTANT) @@ -564,7 +564,7 @@ void CompiledExpression::generateJitCode() { value = 1.0; else if (op.getId() == Operation::ABS) { long long mask = 0x7FFFFFFFFFFFFFFF; - memcpy(&value, &mask, sizeof(value)); + memcpy(&value, &mask, sizeof(mask)); } else if (op.getId() == Operation::POWER_CONSTANT) { if (stepGroup[step] == -1) diff --git a/lib/lepton/src/CompiledVectorExpression.cpp b/lib/lepton/src/CompiledVectorExpression.cpp index fdbba8b172..d2859085d9 100644 --- a/lib/lepton/src/CompiledVectorExpression.cpp +++ b/lib/lepton/src/CompiledVectorExpression.cpp @@ -611,7 +611,7 @@ void CompiledVectorExpression::generateJitCode() { // Find the constant value (if any) used by this operation. Operation& op = *operation[step]; - double value; + double value = 0.0; if (op.getId() == Operation::CONSTANT) value = dynamic_cast (op).getValue(); else if (op.getId() == Operation::ADD_CONSTANT) @@ -626,7 +626,7 @@ void CompiledVectorExpression::generateJitCode() { value = 1.0; else if (op.getId() == Operation::ABS) { int mask = 0x7FFFFFFF; - memcpy(&value, &mask, sizeof(value)); + memcpy(&value, &mask, sizeof(mask)); } else if (op.getId() == Operation::POWER_CONSTANT) { if (stepGroup[step] == -1)