From d1245462199d24bd680d78f2dbf1baca0d4e2270 Mon Sep 17 00:00:00 2001 From: Chris Czub Date: Wed, 17 Jul 2024 10:11:45 -0400 Subject: [PATCH] fix(rust): Enforce that `spec.InnerSpec.ChildSize` is >= 1 (#339) * Enforce that the spec.InnerSpec.ChildSize is >= 1 * Add changelog entry --------- Co-authored-by: Romain Ruetschi --- CHANGELOG.md | 7 +++++++ rust/src/verify.rs | 4 ++++ 2 files changed, 11 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index cbfe0b75..023a0497 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,11 @@ # Changelog + +# Unreleased + +## Rust + +- fix(rust): Enforce that `spec.InnerSpec.ChildSize` is >= 1 ([#339](https://github.com/cosmos/ics23/pull/339)) + # 0.11.1 ## Rust diff --git a/rust/src/verify.rs b/rust/src/verify.rs index babe99ae..ade0b93a 100644 --- a/rust/src/verify.rs +++ b/rust/src/verify.rs @@ -201,6 +201,10 @@ fn ensure_inner(inner: &ics23::InnerOp, spec: &ics23::ProofSpec) -> Result<()> { "Inner prefix too long: {}", inner.prefix.len(), ); + ensure!( + inner_spec.child_size > 0, + "spec.InnerSpec.ChildSize must be >= 1" + ); ensure!( inner.suffix.len() % (inner_spec.child_size as usize) == 0, "InnerOp suffix malformed"