Skip to content

Commit 545f67b

Browse files
authored
[GEN][ZH] Fix several new/delete mismatches (#606)
1 parent ce0d1d2 commit 545f67b

File tree

14 files changed

+63
-57
lines changed

14 files changed

+63
-57
lines changed

Generals/Code/GameEngine/Source/GameClient/Drawable.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -281,7 +281,7 @@ const Int MAX_ENABLED_MODULES = 16;
281281
{
282282
if( s_animationTemplates )
283283
{
284-
delete s_animationTemplates;
284+
delete[] s_animationTemplates;
285285
s_animationTemplates = NULL;
286286
}
287287
}

Generals/Code/GameEngine/Source/GameClient/GUI/Gadget/GadgetListBox.cpp

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -400,7 +400,7 @@ static Int moveRowsDown(ListboxData *list, Int startingRow)
400400
char *buf = NEW char[copyLen];
401401
memcpy(buf, list->listData + startingRow, copyLen);
402402
memcpy(list->listData + startingRow + 1, buf, copyLen );
403-
delete buf;
403+
delete[] buf;
404404

405405
list->endPos ++;
406406
list->insertPos = list->endPos;
@@ -1369,7 +1369,7 @@ WindowMsgHandledType GadgetListBoxSystem( GameWindow *window, UnsignedInt msg,
13691369
cells[j].userData = NULL;
13701370
cells[j].data = NULL;
13711371
}
1372-
delete(list->listData[i].cell);
1372+
delete[](list->listData[i].cell);
13731373
list->listData[i].cell = NULL;
13741374
}
13751375
//zero out the header structure
@@ -1413,7 +1413,8 @@ WindowMsgHandledType GadgetListBoxSystem( GameWindow *window, UnsignedInt msg,
14131413
cells[i].userData = NULL;
14141414
}
14151415

1416-
delete [](list->listData[mData1].cell);
1416+
delete[](list->listData[mData1].cell);
1417+
list->listData[mData1].cell = NULL;
14171418

14181419
memcpy( &list->listData[mData1], &list->listData[(mData1+1)],
14191420
(list->endPos - mData1 - 1) * sizeof(ListEntryRow) );
@@ -1736,7 +1737,7 @@ WindowMsgHandledType GadgetListBoxSystem( GameWindow *window, UnsignedInt msg,
17361737
cells[j].cellType = 0;
17371738
}
17381739

1739-
delete(list->listData[i].cell);
1740+
delete[](list->listData[i].cell);
17401741
list->listData[i].cell = NULL;
17411742
}
17421743

@@ -2434,7 +2435,8 @@ void GadgetListBoxAddMultiSelect( GameWindow *listbox )
24342435
if( listboxData->selections == NULL )
24352436
{
24362437

2437-
delete( listboxData->listData );
2438+
delete[]( listboxData->listData );
2439+
listboxData->listData = NULL;
24382440
return;
24392441

24402442
} // end if
@@ -2460,7 +2462,7 @@ void GadgetListBoxRemoveMultiSelect( GameWindow *listbox )
24602462
if( listData->selections )
24612463
{
24622464

2463-
delete( listData->selections );
2465+
delete[]( listData->selections );
24642466
listData->selections = NULL;
24652467

24662468
} // end if
@@ -2547,15 +2549,16 @@ void GadgetListBoxSetListLength( GameWindow *listbox, Int newLength )
25472549
// free(cells[j].userData);
25482550
}
25492551
}
2550-
if ( i >= newLength )
2551-
delete(listboxData->listData[i].cell);
2552-
listboxData->listData[i].cell = NULL;
2552+
if (i >= newLength) {
2553+
delete[](listboxData->listData[i].cell);
2554+
listboxData->listData[i].cell = NULL;
2555+
}
25532556
}
25542557

25552558
listboxData->listLength = newLength;
25562559

25572560
if( listboxData->listData )
2558-
delete( listboxData->listData );
2561+
delete[]( listboxData->listData );
25592562
listboxData->listData = newData;
25602563

25612564
//reset the total height

Generals/Code/GameEngine/Source/GameClient/GUI/GameWindowManager.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2214,7 +2214,7 @@ GameWindow *GameWindowManager::gogoGadgetListBox( GameWindow *parent,
22142214
//
22152215
if( listboxData->columns == 1 )
22162216
{
2217-
listboxData->columnWidth = NEW Int;
2217+
listboxData->columnWidth = NEW Int[listboxData->columns];
22182218
listboxData->columnWidth[0] = width;
22192219
if( listboxData->slider )
22202220
{

Generals/Code/GameEngine/Source/GameLogic/AI/AIPathfind.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1118,7 +1118,7 @@ void PathfindCellInfo::releaseCellInfos(void)
11181118
s_firstFree = s_firstFree->m_pathParent;
11191119
}
11201120
DEBUG_ASSERTCRASH(count==CELL_INFOS_TO_ALLOCATE, ("Error - Allocated cellinfos."));
1121-
delete s_infoArray;
1121+
delete[] s_infoArray;
11221122
s_infoArray = NULL;
11231123
s_firstFree = NULL;
11241124
}

Generals/Code/GameEngineDevice/Source/W3DDevice/GameClient/HeightMap.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -158,21 +158,21 @@ Int HeightMapRenderObjClass::freeMapResources(void)
158158
if (m_vertexBufferTiles) {
159159
for (int i=0; i<m_numVertexBufferTiles; i++)
160160
REF_PTR_RELEASE(m_vertexBufferTiles[i]);
161-
delete m_vertexBufferTiles;
161+
delete[] m_vertexBufferTiles;
162162
m_vertexBufferTiles = NULL;
163163
}
164164
if (m_vertexBufferBackup) {
165165
for (int i=0; i<m_numVertexBufferTiles; i++)
166-
delete m_vertexBufferBackup[i];
167-
delete m_vertexBufferBackup;
166+
delete[] m_vertexBufferBackup[i];
167+
delete[] m_vertexBufferBackup;
168168
m_vertexBufferBackup = NULL;
169169
}
170170
m_numVertexBufferTiles = 0;
171171
#ifdef PRE_TRANSFORM_VERTEX
172172
if (m_xformedVertexBuffer) {
173173
for (int i=0; i<m_numVertexBufferTiles; i++)
174174
m_xformedVertexBuffer[i]->Release();
175-
delete m_xformedVertexBuffer;
175+
delete[] m_xformedVertexBuffer;
176176
m_xformedVertexBuffer = NULL;
177177
}
178178
#endif

Generals/Code/GameEngineDevice/Source/W3DDevice/GameClient/W3DRoadBuffer.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -237,12 +237,12 @@ RoadSegment::~RoadSegment(void)
237237
{
238238
m_numVertex = 0;
239239
if (m_vb) {
240-
delete m_vb;
240+
delete[] m_vb;
241241
}
242242
m_vb= NULL;
243243
m_numIndex = 0;
244244
if (m_ib) {
245-
delete m_ib;
245+
delete[] m_ib;
246246
}
247247
m_ib = NULL;
248248
}
@@ -257,7 +257,7 @@ RoadSegment::~RoadSegment(void)
257257
void RoadSegment::SetVertexBuffer(VertexFormatXYZDUV1 *vb, Int numVertex)
258258
{
259259
if (m_vb) {
260-
delete m_vb;
260+
delete[] m_vb;
261261
m_vb = NULL;
262262
m_numVertex = 0;
263263
}
@@ -285,7 +285,7 @@ void RoadSegment::SetVertexBuffer(VertexFormatXYZDUV1 *vb, Int numVertex)
285285
void RoadSegment::SetIndexBuffer(UnsignedShort *ib, Int numIndex)
286286
{
287287
if (m_ib) {
288-
delete m_ib;
288+
delete[] m_ib;
289289
m_ib = NULL;
290290
m_numIndex = 0;
291291
}

Generals/Code/GameEngineDevice/Source/W3DDevice/GameClient/WorldHeightMap.cpp

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -383,31 +383,31 @@ const ThingTemplate *MapObject::getThingTemplate( void ) const
383383
WorldHeightMap::~WorldHeightMap(void)
384384
{
385385
if (m_data) {
386-
delete(m_data);
386+
delete[](m_data);
387387
m_data = NULL;
388388
}
389389
if (m_tileNdxes) {
390-
delete(m_tileNdxes);
390+
delete[](m_tileNdxes);
391391
m_tileNdxes = NULL;
392392
}
393393
if (m_blendTileNdxes) {
394-
delete(m_blendTileNdxes);
394+
delete[](m_blendTileNdxes);
395395
m_blendTileNdxes = NULL;
396396
}
397397
if (m_extraBlendTileNdxes) {
398-
delete(m_extraBlendTileNdxes);
398+
delete[](m_extraBlendTileNdxes);
399399
m_extraBlendTileNdxes = NULL;
400400
}
401401
if (m_cliffInfoNdxes) {
402-
delete(m_cliffInfoNdxes);
402+
delete[](m_cliffInfoNdxes);
403403
m_cliffInfoNdxes = NULL;
404404
}
405405
if (m_cellFlipState)
406-
{ delete (m_cellFlipState);
406+
{ delete[](m_cellFlipState);
407407
m_cellFlipState = NULL;
408408
}
409409
if (m_cellCliffState)
410-
{ delete (m_cellCliffState);
410+
{ delete[](m_cellCliffState);
411411
m_cellCliffState = NULL;
412412
}
413413
int i;

GeneralsMD/Code/GameEngine/Source/GameClient/Drawable.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -313,7 +313,7 @@ const Int MAX_ENABLED_MODULES = 16;
313313
{
314314
if( s_animationTemplates )
315315
{
316-
delete s_animationTemplates;
316+
delete[] s_animationTemplates;
317317
s_animationTemplates = NULL;
318318
}
319319
}

GeneralsMD/Code/GameEngine/Source/GameClient/GUI/Gadget/GadgetListBox.cpp

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -400,7 +400,7 @@ static Int moveRowsDown(ListboxData *list, Int startingRow)
400400
char *buf = NEW char[copyLen];
401401
memcpy(buf, list->listData + startingRow, copyLen);
402402
memcpy(list->listData + startingRow + 1, buf, copyLen );
403-
delete buf;
403+
delete[] buf;
404404

405405
list->endPos ++;
406406
list->insertPos = list->endPos;
@@ -1369,7 +1369,7 @@ WindowMsgHandledType GadgetListBoxSystem( GameWindow *window, UnsignedInt msg,
13691369
cells[j].userData = NULL;
13701370
cells[j].data = NULL;
13711371
}
1372-
delete(list->listData[i].cell);
1372+
delete[](list->listData[i].cell);
13731373
list->listData[i].cell = NULL;
13741374
}
13751375
//zero out the header structure
@@ -1413,7 +1413,8 @@ WindowMsgHandledType GadgetListBoxSystem( GameWindow *window, UnsignedInt msg,
14131413
cells[i].userData = NULL;
14141414
}
14151415

1416-
delete [](list->listData[mData1].cell);
1416+
delete[](list->listData[mData1].cell);
1417+
list->listData[mData1].cell = NULL;
14171418

14181419
memcpy( &list->listData[mData1], &list->listData[(mData1+1)],
14191420
(list->endPos - mData1 - 1) * sizeof(ListEntryRow) );
@@ -1736,7 +1737,7 @@ WindowMsgHandledType GadgetListBoxSystem( GameWindow *window, UnsignedInt msg,
17361737
cells[j].cellType = 0;
17371738
}
17381739

1739-
delete(list->listData[i].cell);
1740+
delete[](list->listData[i].cell);
17401741
list->listData[i].cell = NULL;
17411742
}
17421743

@@ -2434,7 +2435,8 @@ void GadgetListBoxAddMultiSelect( GameWindow *listbox )
24342435
if( listboxData->selections == NULL )
24352436
{
24362437

2437-
delete( listboxData->listData );
2438+
delete[]( listboxData->listData );
2439+
listboxData->listData = NULL;
24382440
return;
24392441

24402442
} // end if
@@ -2460,7 +2462,7 @@ void GadgetListBoxRemoveMultiSelect( GameWindow *listbox )
24602462
if( listData->selections )
24612463
{
24622464

2463-
delete( listData->selections );
2465+
delete[]( listData->selections );
24642466
listData->selections = NULL;
24652467

24662468
} // end if
@@ -2547,15 +2549,16 @@ void GadgetListBoxSetListLength( GameWindow *listbox, Int newLength )
25472549
// free(cells[j].userData);
25482550
}
25492551
}
2550-
if ( i >= newLength )
2551-
delete(listboxData->listData[i].cell);
2552-
listboxData->listData[i].cell = NULL;
2552+
if (i >= newLength) {
2553+
delete[](listboxData->listData[i].cell);
2554+
listboxData->listData[i].cell = NULL;
2555+
}
25532556
}
25542557

25552558
listboxData->listLength = newLength;
25562559

25572560
if( listboxData->listData )
2558-
delete( listboxData->listData );
2561+
delete[]( listboxData->listData );
25592562
listboxData->listData = newData;
25602563

25612564
//reset the total height

GeneralsMD/Code/GameEngine/Source/GameClient/GUI/GameWindowManager.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2214,7 +2214,7 @@ GameWindow *GameWindowManager::gogoGadgetListBox( GameWindow *parent,
22142214
//
22152215
if( listboxData->columns == 1 )
22162216
{
2217-
listboxData->columnWidth = NEW Int;
2217+
listboxData->columnWidth = NEW Int[listboxData->columns];
22182218
listboxData->columnWidth[0] = width;
22192219
if( listboxData->slider )
22202220
{

0 commit comments

Comments
 (0)