From a2ad5f9e2d454cd62d3bf9b9a37acb6e92ebcab1 Mon Sep 17 00:00:00 2001 From: peterferrie Date: Sat, 3 Jan 2015 21:39:54 -0800 Subject: (MESS) ap2_dsk: don't allocate 2Mb of *stack*, malloc() instead [Peter Ferrie] --- src/lib/formats/ap2_dsk.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/lib/formats/ap2_dsk.c b/src/lib/formats/ap2_dsk.c index 6776312a7fc..056fe05aebc 100644 --- a/src/lib/formats/ap2_dsk.c +++ b/src/lib/formats/ap2_dsk.c @@ -1550,9 +1550,17 @@ UINT8 a2_edd_format::pick(const UINT8 *data, int pos) bool a2_edd_format::load(io_generic *io, UINT32 form_factor, floppy_image *image) { - UINT8 img[2244608]; + UINT8 *img; UINT8 nibble[16384], stream[16384]; int npos[16384]; + + img = (UINT8 *) malloc(2244608); + + if (!img) + { + return false; + } + io_generic_read(io, img, 0, 2244608); for(int i=0; i<137; i++) { @@ -1620,6 +1628,7 @@ bool a2_edd_format::load(io_generic *io, UINT32 form_factor, floppy_image *image generate_track_from_bitstream(i >> 2, 0, stream, len, image, i & 3); image->set_write_splice_position(i >> 2, 0, UINT32(U64(200000000)*splice/len), i & 3); } + free(img); return true; } -- cgit v1.2.3