From 3f520cc8df5e842463ecefa4cceb4f41364108a4 Mon Sep 17 00:00:00 2001 From: jl777 Date: Sun, 17 Jul 2016 14:46:58 -0300 Subject: [PATCH] test --- iguana/iguana_msg.c | 14 ++++++-------- iguana/tests/decoderawtransaction | 2 +- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/iguana/iguana_msg.c b/iguana/iguana_msg.c index e1dc93697..a98c57e1b 100755 --- a/iguana/iguana_msg.c +++ b/iguana/iguana_msg.c @@ -587,31 +587,29 @@ int32_t iguana_rwtx(uint8_t zcash,int32_t rwflag,struct OS_memspace *mem,uint8_t len += iguana_rwvarint32(rwflag,&serialized[len],&msg->tx_in); if ( rwflag == 0 ) msg->vins = iguana_memalloc(mem,msg->tx_in * sizeof(*msg->vins),1); - if ( maxsize-len-msg->tx_in*sizeof(msg->vins[0]) <= 0 ) + if ( maxsize-len <= 0 ) return(-1); for (i=0; itx_in; i++) { - if ( len+sizeof(msg->vins[i]) > maxsize ) + len += iguana_rwvin(rwflag,mem,&serialized[len],&msg->vins[i]); + if ( len > maxsize ) { printf("invalid tx_in.%d len.%d vs maxsize.%d\n",msg->tx_in,len,maxsize); return(-1); } - len += iguana_rwvin(rwflag,mem,&serialized[len],&msg->vins[i]); } - if ( maxsize-len < sizeof(msg->vouts[0]) ) - return(-1); len += iguana_rwvarint32(rwflag,&serialized[len],&msg->tx_out); - //printf("numvouts.%d ",msg->tx_out); + //printf("numvouts.%d ",msg->tx_out); if ( rwflag == 0 ) msg->vouts = iguana_memalloc(mem,msg->tx_out * sizeof(*msg->vouts),1); for (i=0; itx_out; i++) { - if ( len+sizeof(msg->vouts[i]) > maxsize ) + len += iguana_rwvout(rwflag,mem,&serialized[len],&msg->vouts[i]); + if ( len > maxsize ) { printf("invalid tx_out.%d len.%d vs maxsize.%d\n",msg->tx_out,len,maxsize); return(-1); } - len += iguana_rwvout(rwflag,mem,&serialized[len],&msg->vouts[i]); } len += iguana_rwnum(rwflag,&serialized[len],sizeof(msg->lock_time),&msg->lock_time); if ( isvpncoin != 0 ) diff --git a/iguana/tests/decoderawtransaction b/iguana/tests/decoderawtransaction index f6a65e6a9..40acf3b47 100755 --- a/iguana/tests/decoderawtransaction +++ b/iguana/tests/decoderawtransaction @@ -1 +1 @@ -curl --url "http://127.0.0.1:7778" --data "{\"coin\":\"BTCD\",\"method\":\"decoderawtransaction\",\"params\":[\"01000000e85b8b5701e70119429220c29716cfeec766bfc6dd558d6384f1440f036438be69e4a59af1010000006b483045022100d0c9a4a7fb75a89be15605bf2fcea9988bd15f6df1a6035a7833a2640c60a4590220587539a52310d5a345be0b03b74c7a08b0db0bf390881ded9ae2d680d70ca45501210383497d04e1fb49335215952e02986294762291cd5abde651301f172600fa2924ffffffff028096980000000000475221021249448c9bc1b141ccce56de5b906f502eeca18587c26070610f0fda747b773b210373b708aad6d23c26f109a6281d012d30ca9dfa86acb2c7e5cf2289e588e88c2052ae40084e05000000001976a91421e112f4211cbc612bc5f3de86acf0017b88b67d88ac00000000\"]}" +curl --url "http://127.0.0.1:7778" --data "{\"coin\":\"BTCD\",\"method\":\"decoderawtransaction\",\"params\":[\"010000000132a253010000000000000000000000000000000000000000000000000000000000000000ffffffff4100012a3d3138204a756e652032303134202d204269746f696e20796f75722077617920746f206120646f75626c6520657370726573736f202d20636e6e2e636f6dffffffff010000000000000000000000000000\"]}"