Fix daemon crashing when sending funds to oracles marker and doing oracleslist
This commit is contained in:
@@ -108,7 +108,7 @@ uint8_t DecodeOraclesCreateOpRet(const CScript &scriptPubKey,std::string &name,s
|
|||||||
std::vector<uint8_t> vopret; uint8_t *script,e,f,funcid;
|
std::vector<uint8_t> vopret; uint8_t *script,e,f,funcid;
|
||||||
GetOpReturnData(scriptPubKey,vopret);
|
GetOpReturnData(scriptPubKey,vopret);
|
||||||
script = (uint8_t *)vopret.data();
|
script = (uint8_t *)vopret.data();
|
||||||
if ( script[0] == EVAL_ORACLES )
|
if ( vopret.size() > 2 && script[0] == EVAL_ORACLES )
|
||||||
{
|
{
|
||||||
if ( script[1] == 'C' )
|
if ( script[1] == 'C' )
|
||||||
{
|
{
|
||||||
@@ -133,7 +133,7 @@ uint8_t DecodeOraclesOpRet(const CScript &scriptPubKey,uint256 &oracletxid,CPubK
|
|||||||
std::vector<uint8_t> vopret; uint8_t *script,e,f;
|
std::vector<uint8_t> vopret; uint8_t *script,e,f;
|
||||||
GetOpReturnData(scriptPubKey,vopret);
|
GetOpReturnData(scriptPubKey,vopret);
|
||||||
script = (uint8_t *)vopret.data();
|
script = (uint8_t *)vopret.data();
|
||||||
if ( vopret.size() > 1 && script[0] == EVAL_ORACLES )
|
if ( vopret.size() > 2 && script[0] == EVAL_ORACLES )
|
||||||
{
|
{
|
||||||
if (script[0] == EVAL_ORACLES && (script[1]== 'R' || script[1] == 'S') && E_UNMARSHAL(vopret,ss >> e; ss >> f; ss >> oracletxid; ss >> pk; ss >> num)!=0)
|
if (script[0] == EVAL_ORACLES && (script[1]== 'R' || script[1] == 'S') && E_UNMARSHAL(vopret,ss >> e; ss >> f; ss >> oracletxid; ss >> pk; ss >> num)!=0)
|
||||||
return(f);
|
return(f);
|
||||||
@@ -154,7 +154,7 @@ uint8_t DecodeOraclesData(const CScript &scriptPubKey,uint256 &oracletxid,uint25
|
|||||||
std::vector<uint8_t> vopret; uint8_t *script,e,f;
|
std::vector<uint8_t> vopret; uint8_t *script,e,f;
|
||||||
GetOpReturnData(scriptPubKey,vopret);
|
GetOpReturnData(scriptPubKey,vopret);
|
||||||
script = (uint8_t *)vopret.data();
|
script = (uint8_t *)vopret.data();
|
||||||
if ( vopret.size() > 1 && E_UNMARSHAL(vopret,ss >> e; ss >> f; ss >> oracletxid; ss >> batontxid; ss >> pk; ss >> data) != 0 )
|
if ( vopret.size() > 2 && E_UNMARSHAL(vopret,ss >> e; ss >> f; ss >> oracletxid; ss >> batontxid; ss >> pk; ss >> data) != 0 )
|
||||||
{
|
{
|
||||||
if ( e == EVAL_ORACLES && f == 'D' )
|
if ( e == EVAL_ORACLES && f == 'D' )
|
||||||
return(f);
|
return(f);
|
||||||
|
|||||||
Reference in New Issue
Block a user