Not only in error paths must the mrs.mr be released.

Tested-by: Gerd Hoffmann <[email protected]>
Acked-by: Gerd Hoffmann <[email protected]>
Signed-off-by: Marc-André Lureau <[email protected]>
---
 backends/igvm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/backends/igvm.c b/backends/igvm.c
index cf8b762d824c..a9dc19b73997 100644
--- a/backends/igvm.c
+++ b/backends/igvm.c
@@ -275,9 +275,9 @@ static void *qigvm_prepare_memory(QIgvm *ctx, uint64_t 
addr, uint64_t size,
             return NULL;
         }
 
+        memory_region_unref(mrs.mr);
         gpa_region_size = int128_make64(size);
         if (int128_lt(mrs.size, gpa_region_size)) {
-            memory_region_unref(mrs.mr);
             error_setg(
                 errp,
                 "Processing of IGVM file failed: Could not prepare memory "

-- 
2.56.0.116.g6de20f6092dc


Reply via email to