From b712ae0af2aa394052a014709a70b57c57758255 Mon Sep 17 00:00:00 2001 From: moneromooo-monero Date: Wed, 12 Jun 2019 22:26:06 +0000 Subject: [PATCH] rpc: work around a GCC 7.4.0 (at least) bug MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit In static member function ‘static boost::optional cryptonote::rpc::RpcHandler::get_output_distribution(const std::function&, long unsigned int&)>&, uint64_t, uint64_t, uint64_t, const std::function&, bool, uint64_t)’: cc1plus: warning: ‘void* __builtin_memset(void*, int, long unsigned int)’: specified size 18446744073709551536 exceeds maximum object size 9223372036854775807 [-Wstringop-overflow=] --- src/rpc/rpc_handler.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/rpc/rpc_handler.cpp b/src/rpc/rpc_handler.cpp index af5cb98a3..d528ffef3 100644 --- a/src/rpc/rpc_handler.cpp +++ b/src/rpc/rpc_handler.cpp @@ -63,7 +63,9 @@ namespace rpc d.cached_to -= 10; d.cached_top_hash = hash10; d.cached_m10_hash = crypto::null_hash; - d.cached_distribution.resize(d.cached_distribution.size() - 10); + CHECK_AND_ASSERT_MES(d.cached_distribution.size() >= 10, boost::none, "Cached distribution size does not match cached bounds"); + for (int p = 0; p < 10; ++p) + d.cached_distribution.pop_back(); can_extend = true; } }