summaryrefslogtreecommitdiff
path: root/Source/Core/Common/MemArena.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Core/Common/MemArena.cpp')
-rw-r--r--Source/Core/Common/MemArena.cpp11
1 files changed, 5 insertions, 6 deletions
diff --git a/Source/Core/Common/MemArena.cpp b/Source/Core/Common/MemArena.cpp
index a227c49501..544f9354cf 100644
--- a/Source/Core/Common/MemArena.cpp
+++ b/Source/Core/Common/MemArena.cpp
@@ -208,18 +208,17 @@ static bool Memory_TryBase(u8 *base, MemoryView *views, int num_views, u32 flags
}
if (!view->view_ptr)
- goto bail;
+ {
+ // Argh! ERROR! Free what we grabbed so far so we can try again.
+ MemoryMap_Shutdown(views, i+1, flags, arena);
+ return false;
+ }
if (view->out_ptr)
*(view->out_ptr) = (u8*) view->view_ptr;
}
return true;
-
-bail:
- // Argh! ERROR! Free what we grabbed so far so we can try again.
- MemoryMap_Shutdown(views, i+1, flags, arena);
- return false;
}
static u32 MemoryMap_InitializeViews(MemoryView *views, int num_views, u32 flags)