From 6ecc17010d354bb1dbfebd58ff1bc70c2ce61e67 Mon Sep 17 00:00:00 2001 From: Nicola Mettifogo Date: Sun, 7 Dec 2008 14:33:30 +0000 Subject: [PATCH] Fixed some more leaks and mismatched allocations/deallocations. svn-id: r35277 --- engines/parallaction/disk_ns.cpp | 7 ++++--- engines/parallaction/graphics.h | 2 +- engines/parallaction/objects.cpp | 4 ++++ 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/engines/parallaction/disk_ns.cpp b/engines/parallaction/disk_ns.cpp index bd6c151cf1c..2533d32d7cc 100644 --- a/engines/parallaction/disk_ns.cpp +++ b/engines/parallaction/disk_ns.cpp @@ -283,7 +283,7 @@ Cnv* DosDisk_ns::loadExternalCnv(const char *filename) { uint16 height = stream->readByte(); uint32 decsize = numFrames * width * height; - byte *data = (byte*)malloc(decsize); + byte *data = new byte[decsize]; stream->read(data, decsize); delete stream; @@ -299,7 +299,7 @@ Frames* DosDisk_ns::loadCnv(const char *filename) { uint16 width = stream->readByte(); uint16 height = stream->readByte(); uint32 decsize = numFrames * width * height; - byte *data = (byte*)malloc(decsize); + byte *data = new byte[decsize]; Graphics::PackBitsReadStream decoder(*stream); decoder.read(data, decsize); @@ -836,7 +836,8 @@ Cnv* AmigaDisk_ns::makeCnv(Common::SeekableReadStream *stream, bool disposeStrea stream->read(buf, rawsize); uint32 decsize = numFrames * width * height; - byte *data = (byte*)calloc(decsize, 1); + byte *data = new byte[decsize]; + memset(data, 0, decsize); unpackBitmap(data, buf, numFrames, bytesPerPlane, height); diff --git a/engines/parallaction/graphics.h b/engines/parallaction/graphics.h index 9b2cfdf479b..1c540e914ec 100644 --- a/engines/parallaction/graphics.h +++ b/engines/parallaction/graphics.h @@ -287,7 +287,7 @@ public: ~Cnv() { if (_freeData) - free(_data); + delete []_data; } byte* getFramePtr(uint16 index) { diff --git a/engines/parallaction/objects.cpp b/engines/parallaction/objects.cpp index 54a5c6c5336..a75620e26e9 100644 --- a/engines/parallaction/objects.cpp +++ b/engines/parallaction/objects.cpp @@ -201,6 +201,10 @@ Zone::~Zone() { case kZoneMerge: delete u.merge; break; + + case kZonePath: + delete u.path; + break; default: break;