//fprintf(stderr,"cant get pcoinsTip->GetCoins\n");
continue;
}
- if ( n < 0 || (unsigned int)n >= coins.vout.size() || coins.vout[n].IsNull() )
+ if ( n < 0 || (unsigned int)n > coins.vout.size() || coins.vout[n].IsNull() ) // vout.size() seems off by 1
{
fprintf(stderr,"iter.%d n.%d vs voutsize.%d\n",iter,n,(int32_t)coins.vout.size());
continue;
uint256 hashBlock;
if ( GetTransaction(txid,tx,hashBlock,true) == 0 )
return(-1);
- else //if ( n < tx.vout.size() )
+ else if ( n <= tx.vout.size() ) // vout.size() seems off by 1
{
ptr = (uint8_t *)tx.vout[n].scriptPubKey.data();
m = tx.vout[n].scriptPubKey.size();