forked from TrueCloudLab/neoneo-go
stackitem: return error in TryBytes() for big byte strings
Follow neo-project/neo-vm#349.
This commit is contained in:
parent
a7670303e8
commit
93f51f922a
3 changed files with 13 additions and 2 deletions
|
@ -354,6 +354,17 @@ func TestVerifyHashAgainstScript(t *testing.T) {
|
||||||
err := bc.verifyHashAgainstScript(hash.Hash160(verif), w, ic, false, gas)
|
err := bc.verifyHashAgainstScript(hash.Hash160(verif), w, ic, false, gas)
|
||||||
require.True(t, errors.Is(err, ErrVerificationFailed))
|
require.True(t, errors.Is(err, ErrVerificationFailed))
|
||||||
})
|
})
|
||||||
|
t.Run("BadResult", func(t *testing.T) {
|
||||||
|
verif := make([]byte, 66)
|
||||||
|
verif[0] = byte(opcode.PUSHDATA1)
|
||||||
|
verif[1] = 64
|
||||||
|
w := &transaction.Witness{
|
||||||
|
InvocationScript: []byte{byte(opcode.NOP)},
|
||||||
|
VerificationScript: verif,
|
||||||
|
}
|
||||||
|
err := bc.verifyHashAgainstScript(hash.Hash160(verif), w, ic, false, gas)
|
||||||
|
require.True(t, errors.Is(err, ErrVerificationFailed))
|
||||||
|
})
|
||||||
t.Run("TooManyResults", func(t *testing.T) {
|
t.Run("TooManyResults", func(t *testing.T) {
|
||||||
verif := []byte{byte(opcode.NOP)}
|
verif := []byte{byte(opcode.NOP)}
|
||||||
w := &transaction.Witness{
|
w := &transaction.Witness{
|
||||||
|
|
|
@ -507,7 +507,7 @@ func (i *ByteArray) String() string {
|
||||||
// TryBool implements Item interface.
|
// TryBool implements Item interface.
|
||||||
func (i *ByteArray) TryBool() (bool, error) {
|
func (i *ByteArray) TryBool() (bool, error) {
|
||||||
if len(i.value) > MaxBigIntegerSizeBits/8 {
|
if len(i.value) > MaxBigIntegerSizeBits/8 {
|
||||||
return true, nil
|
return false, errors.New("too big byte string")
|
||||||
}
|
}
|
||||||
for _, b := range i.value {
|
for _, b := range i.value {
|
||||||
if b != 0 {
|
if b != 0 {
|
||||||
|
|
2
pkg/vm/testdata/neo-vm
vendored
2
pkg/vm/testdata/neo-vm
vendored
|
@ -1 +1 @@
|
||||||
Subproject commit 359e8631ee2ddfefe8261afcec1a5bab9d9bddf9
|
Subproject commit 377464ed475a3de108e1bf9c834bd2279b72624e
|
Loading…
Reference in a new issue