vm/cli: add parameter checks for load* commands
Prevent failing like this: NEO-GO-VM > loadhex panic: runtime error: index out of range ...
This commit is contained in:
parent
5d63ff100e
commit
003daf37cf
1 changed files with 16 additions and 0 deletions
|
@ -243,6 +243,10 @@ func handleXStack(c *ishell.Context) {
|
||||||
|
|
||||||
func handleLoadAVM(c *ishell.Context) {
|
func handleLoadAVM(c *ishell.Context) {
|
||||||
v := getVMFromContext(c)
|
v := getVMFromContext(c)
|
||||||
|
if len(c.Args) < 1 {
|
||||||
|
c.Err(errors.New("missing parameter <file>"))
|
||||||
|
return
|
||||||
|
}
|
||||||
if err := v.LoadFile(c.Args[0]); err != nil {
|
if err := v.LoadFile(c.Args[0]); err != nil {
|
||||||
c.Err(err)
|
c.Err(err)
|
||||||
} else {
|
} else {
|
||||||
|
@ -253,6 +257,10 @@ func handleLoadAVM(c *ishell.Context) {
|
||||||
|
|
||||||
func handleLoadBase64(c *ishell.Context) {
|
func handleLoadBase64(c *ishell.Context) {
|
||||||
v := getVMFromContext(c)
|
v := getVMFromContext(c)
|
||||||
|
if len(c.Args) < 1 {
|
||||||
|
c.Err(errors.New("missing parameter <string>"))
|
||||||
|
return
|
||||||
|
}
|
||||||
b, err := base64.StdEncoding.DecodeString(c.Args[0])
|
b, err := base64.StdEncoding.DecodeString(c.Args[0])
|
||||||
if err != nil {
|
if err != nil {
|
||||||
c.Err(err)
|
c.Err(err)
|
||||||
|
@ -265,6 +273,10 @@ func handleLoadBase64(c *ishell.Context) {
|
||||||
|
|
||||||
func handleLoadHex(c *ishell.Context) {
|
func handleLoadHex(c *ishell.Context) {
|
||||||
v := getVMFromContext(c)
|
v := getVMFromContext(c)
|
||||||
|
if len(c.Args) < 1 {
|
||||||
|
c.Err(errors.New("missing parameter <string>"))
|
||||||
|
return
|
||||||
|
}
|
||||||
b, err := hex.DecodeString(c.Args[0])
|
b, err := hex.DecodeString(c.Args[0])
|
||||||
if err != nil {
|
if err != nil {
|
||||||
c.Err(err)
|
c.Err(err)
|
||||||
|
@ -277,6 +289,10 @@ func handleLoadHex(c *ishell.Context) {
|
||||||
|
|
||||||
func handleLoadGo(c *ishell.Context) {
|
func handleLoadGo(c *ishell.Context) {
|
||||||
v := getVMFromContext(c)
|
v := getVMFromContext(c)
|
||||||
|
if len(c.Args) < 1 {
|
||||||
|
c.Err(errors.New("missing parameter <file>"))
|
||||||
|
return
|
||||||
|
}
|
||||||
fb, err := ioutil.ReadFile(c.Args[0])
|
fb, err := ioutil.ReadFile(c.Args[0])
|
||||||
if err != nil {
|
if err != nil {
|
||||||
c.Err(err)
|
c.Err(err)
|
||||||
|
|
Loading…
Reference in a new issue