Fix two places where objects were being used after they were deleted
This commit is contained in:
parent
2a07fba3c2
commit
7fe0e64a5e
2 changed files with 6 additions and 3 deletions
|
|
@ -458,6 +458,7 @@ void database::apply_block( const signed_block& next_block, uint32_t skip )
|
|||
|
||||
void database::_apply_block( const signed_block& next_block )
|
||||
{ try {
|
||||
uint32_t next_block_num = next_block.block_num();
|
||||
uint32_t skip = get_node_properties().skip_flags;
|
||||
_applied_ops.clear();
|
||||
|
||||
|
|
@ -468,7 +469,7 @@ void database::_apply_block( const signed_block& next_block )
|
|||
const auto& dynamic_global_props = get<dynamic_global_property_object>(dynamic_global_property_id_type());
|
||||
bool maint_needed = (dynamic_global_props.next_maintenance_time <= next_block.timestamp);
|
||||
|
||||
_current_block_num = next_block.block_num();
|
||||
_current_block_num = next_block_num;
|
||||
_current_trx_in_block = 0;
|
||||
|
||||
for( const auto& trx : next_block.transactions )
|
||||
|
|
|
|||
|
|
@ -89,7 +89,6 @@ void database::globally_settle_asset( const asset_object& mia, const price& sett
|
|||
void database::cancel_order(const force_settlement_object& order, bool create_virtual_op)
|
||||
{
|
||||
adjust_balance(order.owner, order.balance);
|
||||
remove(order);
|
||||
|
||||
if( create_virtual_op )
|
||||
{
|
||||
|
|
@ -99,6 +98,7 @@ void database::cancel_order(const force_settlement_object& order, bool create_vi
|
|||
vop.amount = order.balance;
|
||||
push_applied_operation( vop );
|
||||
}
|
||||
remove(order);
|
||||
}
|
||||
|
||||
void database::cancel_order( const limit_order_object& order, bool create_virtual_op )
|
||||
|
|
@ -361,7 +361,6 @@ bool database::fill_order(const force_settlement_object& settle, const asset& pa
|
|||
});
|
||||
filled = false;
|
||||
} else {
|
||||
remove(settle);
|
||||
filled = true;
|
||||
}
|
||||
adjust_balance(settle.owner, receives - issuer_fees);
|
||||
|
|
@ -369,6 +368,9 @@ bool database::fill_order(const force_settlement_object& settle, const asset& pa
|
|||
assert( pays.asset_id != receives.asset_id );
|
||||
push_applied_operation( fill_order_operation{ settle.id, settle.owner, pays, receives, issuer_fees } );
|
||||
|
||||
if (filled)
|
||||
remove(settle);
|
||||
|
||||
return filled;
|
||||
} FC_CAPTURE_AND_RETHROW( (settle)(pays)(receives) ) }
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue