From c653053cfb7040b20328eb0d1f9378ddcca0058d Mon Sep 17 00:00:00 2001 From: zhangzheng Date: Fri, 12 Oct 2018 11:34:46 +0800 Subject: [PATCH] Merge PR #2468: fix bounds checking and missing return --- baseapp/baseapp.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/baseapp/baseapp.go b/baseapp/baseapp.go index 34c27c1c6c..b390e38417 100644 --- a/baseapp/baseapp.go +++ b/baseapp/baseapp.go @@ -384,12 +384,12 @@ func handleQueryP2P(app *BaseApp, path []string, req abci.RequestQuery) (res abc func handleQueryCustom(app *BaseApp, path []string, req abci.RequestQuery) (res abci.ResponseQuery) { // path[0] should be "custom" because "/custom" prefix is required for keeper queries. // the queryRouter routes using path[1]. For example, in the path "custom/gov/proposal", queryRouter routes using "gov" - if path[1] == "" { - sdk.ErrUnknownRequest("No route for custom query specified").QueryResult() + if len(path) < 2 || path[1] == "" { + return sdk.ErrUnknownRequest("No route for custom query specified").QueryResult() } querier := app.queryRouter.Route(path[1]) if querier == nil { - sdk.ErrUnknownRequest(fmt.Sprintf("no custom querier found for route %s", path[1])).QueryResult() + return sdk.ErrUnknownRequest(fmt.Sprintf("no custom querier found for route %s", path[1])).QueryResult() } ctx := sdk.NewContext(app.cms.CacheMultiStore(), app.checkState.ctx.BlockHeader(), true, app.Logger).