diff --git a/src/hw/hw_proof.cpp b/src/hw/hw_proof.cpp index 3ea63ee6..057a0b0f 100644 --- a/src/hw/hw_proof.cpp +++ b/src/hw/hw_proof.cpp @@ -577,13 +577,13 @@ class HwProver : public ParallelProver { pos_offset = segm.start / vdf->interval; } - form* GetForm(uint64_t pos) { + form GetForm(uint64_t pos) { pos += pos_offset; if (hw_proof_wait_value(vdf, pos)) { // Provide arbitrary value when stopping - proof won't be computed - return &vdf->values[0][0]; + return vdf->values[0][0]; } - return hw_proof_value_at(vdf, pos); + return *hw_proof_value_at(vdf, pos); } void start() { diff --git a/src/vdf_base.hpp b/src/vdf_base.hpp index 71ef0bb0..8b5463dd 100644 --- a/src/vdf_base.hpp +++ b/src/vdf_base.hpp @@ -267,7 +267,7 @@ class Prover { is_finished = false; } - virtual form* GetForm(uint64_t iteration) = 0; + virtual form GetForm(uint64_t iteration) = 0; virtual void start() = 0; virtual void stop() = 0; virtual bool PerformExtraStep() = 0;