From fd83770790e53d5afa67acb81625b344ecdff9c3 Mon Sep 17 00:00:00 2001 From: moneromooo-monero Date: Wed, 30 May 2018 15:03:36 +0100 Subject: [PATCH] rpc: fix get_output_distribution cache for the cumulative case The distribution was not converted to cumulative after a cache hit --- src/rpc/core_rpc_server.cpp | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/rpc/core_rpc_server.cpp b/src/rpc/core_rpc_server.cpp index 8b8fdc9c7..69c0894ca 100644 --- a/src/rpc/core_rpc_server.cpp +++ b/src/rpc/core_rpc_server.cpp @@ -2102,10 +2102,16 @@ namespace cryptonote res.distributions.push_back({amount, d.cached_start_height, d.cached_distribution, d.cached_base}); if (req.cumulative) { - auto &distribution = res.distributions.back().distribution; - distribution[0] += d.cached_base; - for (size_t n = 1; n < distribution.size(); ++n) - distribution[n] += distribution[n-1]; + res.distributions.push_back({amount, slot.start_height, slot.distribution, slot.base}); + found = true; + if (req.cumulative) + { + auto &distribution = res.distributions.back().distribution; + distribution[0] += slot.base; + for (size_t n = 1; n < distribution.size(); ++n) + distribution[n] += distribution[n-1]; + } + break; } continue; }