summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Nathan Woods <npwoods@mess.org>2016-09-09 06:29:40 -0400
committer Nathan Woods <npwoods@mess.org>2016-09-09 06:29:40 -0400
commit402d84ff34a2fddf1b7ca4d0b0e932a9e59d2d46 (patch)
tree122133dfa90372686b9ef0adee5d7f03b54e7dfb
parent4251194fe5b9f4d7551c362326e7ca20bc7da99b (diff)
Properly catching another out of memory condition
-rw-r--r--src/lib/formats/flopimg.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/lib/formats/flopimg.cpp b/src/lib/formats/flopimg.cpp
index 9fb487ba971..82f8d28ca93 100644
--- a/src/lib/formats/flopimg.cpp
+++ b/src/lib/formats/flopimg.cpp
@@ -654,9 +654,14 @@ floperr_t floppy_format_track(floppy_image_legacy *floppy, int head, int track,
/* create a dummy resolution; if no parameters were specified */
if (!parameters)
{
- alloc_resolution = std::make_unique<util::option_resolution>(floppy_option_guide);
- if (!alloc_resolution)
+ try
+ {
+ alloc_resolution = std::make_unique<util::option_resolution>(floppy_option_guide);
+ }
+ catch (...)
+ {
return FLOPPY_ERROR_OUTOFMEMORY;
+ }
alloc_resolution->set_specification(floppy->floppy_option->param_guidelines);
parameters = alloc_resolution.get();