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