From 53699a9d27f52c855cc6b47295abd4181fd8bb2a Mon Sep 17 00:00:00 2001 From: theoreticalbts Date: Mon, 22 Feb 2016 10:55:22 -0500 Subject: [PATCH] ext.hpp: Accept null and empty array for extensions #593 --- libraries/chain/include/graphene/chain/protocol/ext.hpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/libraries/chain/include/graphene/chain/protocol/ext.hpp b/libraries/chain/include/graphene/chain/protocol/ext.hpp index fda4feee..366dcd63 100644 --- a/libraries/chain/include/graphene/chain/protocol/ext.hpp +++ b/libraries/chain/include/graphene/chain/protocol/ext.hpp @@ -168,6 +168,14 @@ struct graphene_extension_from_variant_visitor template< typename T > void from_variant( const fc::variant& var, graphene::chain::extension& value ) { + if( var.is_null() ) + return; + if( var.is_array() ) + { + FC_ASSERT( var.size() == 0 ); + return; + } + graphene_extension_from_variant_visitor vtor( var.get_object(), value.value ); fc::reflector::visit( vtor ); FC_ASSERT( vtor.count_left == 0 ); // unrecognized extension throws here