diff --git a/devicemodel/core/mem.c b/devicemodel/core/mem.c index b07c8ca0e..c203400cb 100644 --- a/devicemodel/core/mem.c +++ b/devicemodel/core/mem.c @@ -248,13 +248,13 @@ unregister_mem_int(struct mmio_rb_tree *rbt, struct mem_range *memp) /* flush Per-VM cache */ if (mmio_hint == entry) mmio_hint = NULL; + + if (entry) + free(entry); } } pthread_rwlock_unlock(&mmio_rwlock); - if (entry) - free(entry); - return err; }