Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

fix: added check for empty path in 06-solomachine #2741

Merged
merged 4 commits into from
Nov 18, 2022
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions modules/light-clients/06-solomachine/client_state.go
Original file line number Diff line number Diff line change
Expand Up @@ -125,6 +125,10 @@ func (cs *ClientState) VerifyMembership(
return sdkerrors.Wrap(commitmenttypes.ErrInvalidProof, "failed to unmarshal path into ICS 23 commitment merkle path")
}

if len(merklePath.String()) == 0 {
return sdkerrors.Wrap(commitmenttypes.ErrInvalidProof, "path is empty")
}
damiannolan marked this conversation as resolved.
Show resolved Hide resolved

signBytes := &SignBytes{
Sequence: sequence,
Timestamp: timestamp,
Expand Down
7 changes: 7 additions & 0 deletions modules/light-clients/06-solomachine/client_state_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -541,6 +541,13 @@ func (suite *SoloMachineTestSuite) TestVerifyMembership() {
},
false,
},
{
"empty path",
func() {
path = []byte("")
},
false,
damiannolan marked this conversation as resolved.
Show resolved Hide resolved
},
}

for _, tc := range testCases {
Expand Down