Make sure pointer arithmetic is correct

release/4.3a0
Frank Dellaert 2023-02-11 12:38:11 -08:00
parent ae1526dd8a
commit 04e155c9d4
1 changed files with 5 additions and 5 deletions

View File

@ -723,8 +723,8 @@ class BinarySumNode : public ExpressionNode<T> {
Record *record = new (ptr) Record();
trace.setFunction(record);
ExecutionTraceStorage* ptr1 = ptr + upAligned(sizeof(Record));
ExecutionTraceStorage* ptr2 = ptr1 + expression1_->traceSize();
auto ptr1 = reinterpret_cast<ExecutionTraceStorage *>(reinterpret_cast<char *>(ptr) + upAligned(sizeof(Record)));
auto ptr2 = reinterpret_cast<ExecutionTraceStorage *>(reinterpret_cast<char *>(ptr1) + expression1_->traceSize());
return expression1_->traceExecution(values, record->trace1, ptr1) +
expression2_->traceExecution(values, record->trace2, ptr2);
}