From 5b4fa9780728ba526f0529199ef90d6132a3faf2 Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Thu, 25 Sep 2025 10:41:12 +0200 Subject: [PATCH] rust: migration: validate termination of subsection arrays For consistency with fields(), validate the value (at least to some extent) before passing it to C. Reviewed-by: Zhao Liu Signed-off-by: Paolo Bonzini --- rust/migration/src/vmstate.rs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/rust/migration/src/vmstate.rs b/rust/migration/src/vmstate.rs index a6ee7e9385..6b0f96c4da 100644 --- a/rust/migration/src/vmstate.rs +++ b/rust/migration/src/vmstate.rs @@ -675,6 +675,9 @@ impl VMStateDescriptionBuilder { #[must_use] pub const fn subsections(mut self, subs: &'static VMStateSubsections) -> Self { + if subs[subs.len() - 1].is_some() { + panic!("subsections are not terminated, use vmstate_subsections!"); + } let subs: *const Option<&bindings::VMStateDescription> = subs.as_ptr(); self.0.subsections = subs.cast::<*const bindings::VMStateDescription>(); self -- 2.47.3