From 925c69b2a7a64555e88d52fcd894ae1005a6adf3 Mon Sep 17 00:00:00 2001 From: Benjamin Saunders Date: Sun, 2 Jul 2017 22:56:11 -0700 Subject: [PATCH] Fix panic on vulkan extension lookup --- src/compositor/mod.rs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/compositor/mod.rs b/src/compositor/mod.rs index ee6aefa..82d5bd0 100644 --- a/src/compositor/mod.rs +++ b/src/compositor/mod.rs @@ -26,6 +26,7 @@ impl<'a> Compositor<'a> { let mut buffer: Vec = Vec::new(); buffer.resize(n as usize, mem::uninitialized()); (self.0.GetVulkanInstanceExtensionsRequired.unwrap())(buffer.as_mut_ptr() as *mut i8, n); + buffer.truncate((n-1) as usize); // Strip trailing null buffer }; temp.split(|&x| x == b' ').map(|x| CString::new(x.to_vec()).expect("extension name contained null byte")).collect() @@ -37,6 +38,7 @@ impl<'a> Compositor<'a> { let mut buffer: Vec = Vec::new(); buffer.resize(n as usize, mem::uninitialized()); (self.0.GetVulkanDeviceExtensionsRequired.unwrap())(physical_device as *mut _, buffer.as_mut_ptr() as *mut i8, n); + buffer.truncate((n-1) as usize); // Strip trailing null buffer }; temp.split(|&x| x == b' ').map(|x| CString::new(x.to_vec()).expect("extension name contained null byte")).collect()