diskimage: Fix memory leak

Use array delete operator for pointer that was allocated with new[] so
that all entries are deleted.
This commit is contained in:
David Holm
2018-12-29 11:50:47 +01:00
parent 5385818aa6
commit e0781ccfc1

View File

@@ -1394,7 +1394,7 @@ void TDiskImage::readFDI(int hfile, bool readonly)
{
if (rsize < fdiOFF)
{
delete tracksinfo;
delete[] tracksinfo;
delete ptr;
ShowError(ERR_CORRUPT);
return;
@@ -1405,7 +1405,7 @@ void TDiskImage::readFDI(int hfile, bool readonly)
if (rsize < fdiOFFdata + tracksinfo[trk*(MaxSide + 1) + side].DataOffset)
{
delete tracksinfo;
delete[] tracksinfo;
delete ptr;
ShowError(ERR_CORRUPT);
return;
@@ -1424,7 +1424,7 @@ void TDiskImage::readFDI(int hfile, bool readonly)
if (rsize < fdiOFFdata + tracksinfo[trk*(MaxSide + 1) + side].DataOffset + tracksinfo[trk*(MaxSide + 1) + side].SectorsInfo[isec].SectorOffset)
{
delete tracksinfo;
delete[] tracksinfo;
delete ptr;
ShowError(ERR_CORRUPT);
return;
@@ -1475,7 +1475,7 @@ void TDiskImage::readFDI(int hfile, bool readonly)
if (trkdatalen + SecCount*(3 + 2) > 6250) // 3x4E & 2x00 per sec checking
{
delete tracksinfo;
delete[] tracksinfo;
delete ptr;
for (int t = 0; t < 256; t++)
for (int s = 0; s < 256; s++)
@@ -1640,7 +1640,7 @@ void TDiskImage::readFDI(int hfile, bool readonly)
}
}
delete tracksinfo;
delete[] tracksinfo;
delete ptr;
ReadOnly = readonly;
FType = DIT_FDI;