From eb72eae304a7067eb568437c66c4d831b075dab9 Mon Sep 17 00:00:00 2001 From: Gavin Andresen Date: Fri, 12 Aug 2011 15:39:12 -0400 Subject: [PATCH] Don't std::advance past beginning of transactions array. Fixes #465 --- src/rpc.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/rpc.cpp b/src/rpc.cpp index d62a0d9ac3..fdb57b3b83 100644 --- a/src/rpc.cpp +++ b/src/rpc.cpp @@ -1188,7 +1188,8 @@ Value listtransactions(const Array& params, bool fHelp) // Now: iterate backwards until we have nCount items to return: TxItems::reverse_iterator it = txByTime.rbegin(); - for (std::advance(it, nFrom); it != txByTime.rend(); ++it) + if (txByTime.size() > nFrom) std::advance(it, nFrom); + for (; it != txByTime.rend(); ++it) { CWalletTx *const pwtx = (*it).second.first; if (pwtx != 0)