From bc512d47434e08e2e0b4a26962f6bd45a4c570b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bastian=20K=C3=B6cher?= Date: Wed, 17 Apr 2019 11:21:44 +0200 Subject: [PATCH] Forget the correct value --- cumulus/runtime/src/validate_block/implementation.rs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/cumulus/runtime/src/validate_block/implementation.rs b/cumulus/runtime/src/validate_block/implementation.rs index 828b841e75..6290f0d192 100644 --- a/cumulus/runtime/src/validate_block/implementation.rs +++ b/cumulus/runtime/src/validate_block/implementation.rs @@ -159,10 +159,11 @@ unsafe fn ext_get_allocated_storage( ) -> *mut u8 { let key = slice::from_raw_parts(key_data, key_len as usize); match STORAGE.as_mut().expect(STORAGE_SET_EXPECT).get(key) { - Some(mut value) => { - *written_out = value.len() as u32; - let ptr = value.as_mut_ptr(); - mem::forget(ptr); + Some(value) => { + let mut out_value: Vec<_> = value.clone(); + *written_out = out_value.len() as u32; + let ptr = out_value.as_mut_ptr(); + mem::forget(out_value); ptr }, None => {