This commit is contained in:
jl777
2019-07-12 06:24:59 -11:00
parent a5b391fb89
commit 61371dd0c0
2 changed files with 10 additions and 3 deletions

View File

@@ -99,12 +99,17 @@ std::string FinalizeCCTx(uint64_t CCmask,struct CCcontract_info *cp,CMutableTran
{ {
if (i==0 && mtx.vin[i].prevout.n==10e8) if (i==0 && mtx.vin[i].prevout.n==10e8)
continue; continue;
if ( myGetTransaction(mtx.vin[i].prevout.hash,vintx,hashBlock) != 0 ) if ( myGetTransaction(mtx.vin[i].prevout.hash,vintx,hashBlock) != 0 && mtx.vin[i].prevout.n < vintx.vout.size() )
{ {
if ( vintx.vout[mtx.vin[i].prevout.n].scriptPubKey.IsPayToCryptoCondition() == 0 && ccvins==0) if ( vintx.vout[mtx.vin[i].prevout.n].scriptPubKey.IsPayToCryptoCondition() == 0 && ccvins==0)
normalvins++; normalvins++;
else ccvins++; else ccvins++;
} }
else
{
fprintf(stderr,"vin.%d vout.%d is bigger than vintx.%d\n",i,mtx.vin[i].prevout.n,(int32_t)vintx.vout.size());
return("");
}
} }
if (normalvins>1 && ccvins) if (normalvins>1 && ccvins)
{ {

View File

@@ -385,7 +385,9 @@ bool CScript::IsPayToCryptoCondition(CScript *pCCSubScript, std::vector<std::vec
bool CScript::IsPayToCryptoCondition(CScript *pCCSubScript) const bool CScript::IsPayToCryptoCondition(CScript *pCCSubScript) const
{ {
std::vector<std::vector<unsigned char>> vParams; std::vector<std::vector<unsigned char>> vParams;
return IsPayToCryptoCondition(pCCSubScript, vParams); if ( pCCSubScript != 0 )
return IsPayToCryptoCondition(pCCSubScript, vParams);
else return(false);
} }
bool CScript::IsPayToCryptoCondition() const bool CScript::IsPayToCryptoCondition() const