@ -1495,11 +1495,17 @@ void wallet2::scan_output(const cryptonote::transaction &tx, bool miner_tx, cons
}
THROW_WALLET_EXCEPTION_IF ( std : : find ( outs . begin ( ) , outs . end ( ) , i ) ! = outs . end ( ) , error : : wallet_internal_error , " Same output cannot be added twice " ) ;
outs . push_back ( i ) ;
if ( tx_scan_info . money_transfered = = 0 & & ! miner_tx )
{
tx_scan_info . money_transfered = tools : : decodeRct ( tx . rct_signatures , tx_scan_info . received - > derivation , i , tx_scan_info . mask , m_account . get_device ( ) ) ;
}
if ( tx_scan_info . money_transfered = = 0 )
{
MERROR ( " Invalid output amount, skipping " ) ;
tx_scan_info . error = true ;
return ;
}
outs . push_back ( i ) ;
THROW_WALLET_EXCEPTION_IF ( tx_money_got_in_outs [ tx_scan_info . received - > index ] > = std : : numeric_limits < uint64_t > : : max ( ) - tx_scan_info . money_transfered ,
error : : wallet_internal_error , " Overflow in received amounts " ) ;
tx_money_got_in_outs [ tx_scan_info . received - > index ] + = tx_scan_info . money_transfered ;