From 8c268ecd06bfb976f66cc7869f129544aaf79369 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Fri, 6 Jul 2018 10:36:00 +0200 Subject: [PATCH] Gracefully return None in Caps::get_structure() if the index is too high --- gstreamer/src/caps.rs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/gstreamer/src/caps.rs b/gstreamer/src/caps.rs index 5b3547219..e4b204e1e 100644 --- a/gstreamer/src/caps.rs +++ b/gstreamer/src/caps.rs @@ -128,6 +128,10 @@ impl CapsRef { } pub fn get_structure(&self, idx: u32) -> Option<&StructureRef> { + if idx >= self.get_size() { + return None; + } + unsafe { let structure = ffi::gst_caps_get_structure(self.as_ptr(), idx); if structure.is_null() { @@ -141,6 +145,10 @@ impl CapsRef { } pub fn get_mut_structure(&mut self, idx: u32) -> Option<&mut StructureRef> { + if idx >= self.get_size() { + return None; + } + unsafe { let structure = ffi::gst_caps_get_structure(self.as_ptr(), idx); if structure.is_null() {