From cabde7b1916866c192e5999538f0d49327452069 Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Tue, 24 Oct 2023 12:29:29 +0200 Subject: [PATCH] chore(x/upgrade): Use ValidateBasic for Plan in ReadUpgradeInfoFromDisk (backport #18210) (#18229) Co-authored-by: Facundo Medica <14063057+facundomedica@users.noreply.github.com> Co-authored-by: Julien Robert --- x/upgrade/keeper/keeper.go | 4 ++++ x/upgrade/keeper/keeper_test.go | 6 ++++++ x/upgrade/keeper/msg_server.go | 4 ---- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/x/upgrade/keeper/keeper.go b/x/upgrade/keeper/keeper.go index dc74a1cf98..c8db97c75b 100644 --- a/x/upgrade/keeper/keeper.go +++ b/x/upgrade/keeper/keeper.go @@ -573,6 +573,10 @@ func (k Keeper) ReadUpgradeInfoFromDisk() (types.Plan, error) { return upgradeInfo, err } + if err := upgradeInfo.ValidateBasic(); err != nil { + return upgradeInfo, err + } + return upgradeInfo, nil } diff --git a/x/upgrade/keeper/keeper_test.go b/x/upgrade/keeper/keeper_test.go index 2f08536ec5..23928abd0c 100644 --- a/x/upgrade/keeper/keeper_test.go +++ b/x/upgrade/keeper/keeper_test.go @@ -88,6 +88,12 @@ func (s *KeeperTestSuite) TestReadUpgradeInfoFromDisk() { s.Require().NoError(err) expected.Height = 101 s.Require().Equal(expected, ui) + + // create invalid upgrade plan (with empty name) + expected.Name = "" + s.Require().NoError(s.upgradeKeeper.DumpUpgradeInfoToDisk(101, expected)) + _, err = s.upgradeKeeper.ReadUpgradeInfoFromDisk() + s.Require().ErrorContains(err, "name cannot be empty: invalid request") } func (s *KeeperTestSuite) TestScheduleUpgrade() { diff --git a/x/upgrade/keeper/msg_server.go b/x/upgrade/keeper/msg_server.go index 8b60ee44fe..b084011bfd 100644 --- a/x/upgrade/keeper/msg_server.go +++ b/x/upgrade/keeper/msg_server.go @@ -32,10 +32,6 @@ func (k msgServer) SoftwareUpgrade(goCtx context.Context, msg *types.MsgSoftware return nil, errors.Wrapf(types.ErrInvalidSigner, "expected %s got %s", k.authority, msg.Authority) } - if err := msg.Plan.ValidateBasic(); err != nil { - return nil, errors.Wrap(err, "plan") - } - ctx := sdk.UnwrapSDKContext(goCtx) err := k.ScheduleUpgrade(ctx, msg.Plan) if err != nil {