rpc: fixed params parsing problem which could lead to a panic

check argument type before parsing params
 recover from panic in ipc channel
This commit is contained in:
Bas van Kervel
2015-10-29 08:40:07 +01:00
parent 56f8699a6c
commit c3c5f8b654
2 changed files with 18 additions and 7 deletions

View File

@ -626,7 +626,12 @@ func (args *GetBlockByHashArgs) UnmarshalJSON(b []byte) (err error) {
args.IncludeTxs = obj[1].(bool)
return nil
if inclTx, ok := obj[1].(bool); ok {
args.IncludeTxs = inclTx
return nil
}
return shared.NewInvalidTypeError("includeTxs", "not a bool")
}
type GetBlockByNumberArgs struct {
@ -648,9 +653,12 @@ func (args *GetBlockByNumberArgs) UnmarshalJSON(b []byte) (err error) {
return err
}
args.IncludeTxs = obj[1].(bool)
if inclTx, ok := obj[1].(bool); ok {
args.IncludeTxs = inclTx
return nil
}
return nil
return shared.NewInvalidTypeError("includeTxs", "not a bool")
}
type BlockFilterArgs struct {