graphql: fix an issue of nil pointer panic (#28416)

Signed-off-by: jsvisa <delweng@gmail.com>
This commit is contained in:
Delweng 2023-10-26 19:48:51 +08:00 committed by GitHub
parent 58ae1df684
commit abe3fca1de
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 8 additions and 0 deletions

View File

@ -1325,6 +1325,9 @@ func (r *Resolver) Blocks(ctx context.Context, args struct {
From *Long From *Long
To *Long To *Long
}) ([]*Block, error) { }) ([]*Block, error) {
if args.From == nil {
return nil, errors.New("from block number must be specified")
}
from := rpc.BlockNumber(*args.From) from := rpc.BlockNumber(*args.From)
var to rpc.BlockNumber var to rpc.BlockNumber

View File

@ -148,6 +148,11 @@ func TestGraphQLBlockSerialization(t *testing.T) {
want: `{"data":{"block":{"number":"0xa","call":{"data":"0x","status":"0x1"}}}}`, want: `{"data":{"block":{"number":"0xa","call":{"data":"0x","status":"0x1"}}}}`,
code: 200, code: 200,
}, },
{
body: `{"query": "{blocks {number}}"}`,
want: `{"errors":[{"message":"from block number must be specified","path":["blocks"]}],"data":null}`,
code: 400,
},
} { } {
resp, err := http.Post(fmt.Sprintf("%s/graphql", stack.HTTPEndpoint()), "application/json", strings.NewReader(tt.body)) resp, err := http.Post(fmt.Sprintf("%s/graphql", stack.HTTPEndpoint()), "application/json", strings.NewReader(tt.body))
if err != nil { if err != nil {