mirror of https://github.com/status-im/op-geth.git
common/hexutil: don't leak encoding/hex errors in Decode
All other functions return errors from package hexutil, ensure that Decode does too.
This commit is contained in:
parent
f3b7dcc5bd
commit
357d00cdb1
|
@ -60,7 +60,11 @@ func Decode(input string) ([]byte, error) {
|
||||||
if !has0xPrefix(input) {
|
if !has0xPrefix(input) {
|
||||||
return nil, ErrMissingPrefix
|
return nil, ErrMissingPrefix
|
||||||
}
|
}
|
||||||
return hex.DecodeString(input[2:])
|
b, err := hex.DecodeString(input[2:])
|
||||||
|
if err != nil {
|
||||||
|
err = mapError(err)
|
||||||
|
}
|
||||||
|
return b, err
|
||||||
}
|
}
|
||||||
|
|
||||||
// MustDecode decodes a hex string with 0x prefix. It panics for invalid input.
|
// MustDecode decodes a hex string with 0x prefix. It panics for invalid input.
|
||||||
|
|
|
@ -18,7 +18,6 @@ package hexutil
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
"bytes"
|
||||||
"encoding/hex"
|
|
||||||
"math/big"
|
"math/big"
|
||||||
"testing"
|
"testing"
|
||||||
)
|
)
|
||||||
|
@ -60,10 +59,10 @@ var (
|
||||||
// invalid
|
// invalid
|
||||||
{input: ``, wantErr: ErrEmptyString},
|
{input: ``, wantErr: ErrEmptyString},
|
||||||
{input: `0`, wantErr: ErrMissingPrefix},
|
{input: `0`, wantErr: ErrMissingPrefix},
|
||||||
{input: `0x0`, wantErr: hex.ErrLength},
|
{input: `0x0`, wantErr: ErrOddLength},
|
||||||
{input: `0x023`, wantErr: hex.ErrLength},
|
{input: `0x023`, wantErr: ErrOddLength},
|
||||||
{input: `0xxx`, wantErr: hex.InvalidByteError('x')},
|
{input: `0xxx`, wantErr: ErrSyntax},
|
||||||
{input: `0x01zz01`, wantErr: hex.InvalidByteError('z')},
|
{input: `0x01zz01`, wantErr: ErrSyntax},
|
||||||
// valid
|
// valid
|
||||||
{input: `0x`, want: []byte{}},
|
{input: `0x`, want: []byte{}},
|
||||||
{input: `0X`, want: []byte{}},
|
{input: `0X`, want: []byte{}},
|
||||||
|
|
Loading…
Reference in New Issue