diff options
author | 2016-09-09 06:29:40 -0400 | |
---|---|---|
committer | 2016-09-09 06:29:40 -0400 | |
commit | 402d84ff34a2fddf1b7ca4d0b0e932a9e59d2d46 (patch) | |
tree | 122133dfa90372686b9ef0adee5d7f03b54e7dfb | |
parent | 4251194fe5b9f4d7551c362326e7ca20bc7da99b (diff) |
Properly catching another out of memory condition
-rw-r--r-- | src/lib/formats/flopimg.cpp | 9 |
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(); |