Fix 3 memory leaks

This commit is contained in:
Chaosus 2018-02-26 12:47:58 +03:00
parent 7568a45539
commit 7c0da76402
4 changed files with 21 additions and 2 deletions

View File

@ -11,6 +11,9 @@ The files were adapted to Godot by removing the dependency on b2Math (replacing
it by b2Glue.h) and commenting out some verbose printf calls.
Upstream code has not changed in 10 years, no need to keep track of changes.
Important: Some files have Godot-made changes.
They are marked with `// -- GODOT start --` and `// -- GODOT end --`
comments.
## bullet
@ -69,6 +72,9 @@ Files extracted from upstream source:
- all .cpp and .h files in EtcLib/
- README.md, LICENSE, AUTHORS
Important: Some files have Godot-made changes.
They are marked with `// -- GODOT start --` and `// -- GODOT end --`
comments.
## fonts
@ -165,6 +171,9 @@ Files extracted from upstream source:
TODO.
Important: Some files have Godot-made changes.
They are marked with `// -- GODOT start --` and `// -- GODOT end --`
comments.
## libtheora

View File

@ -1342,7 +1342,12 @@ b2Polygon TraceEdge(b2Polygon* p){
if (nodes[j].nConnected == 0) continue;
b2Vec2 diff = nodes[i].position - nodes[j].position;
if (diff.LengthSquared() <= COLLAPSE_DIST_SQR){
if (nActive <= 3) return b2Polygon();
if (nActive <= 3) {
// -- GODOT start --
delete[] nodes;
// -- GODOT end --
return b2Polygon();
}
//printf("Found dupe, %d left\n",nActive);
--nActive;
foundDupe = true;

View File

@ -228,6 +228,9 @@ int FilterTwoPass( RGBCOLOR *pSrcImage, int srcWidth, int srcHeight,
pTempImage = (RGBCOLOR *)malloc( destWidth * srcHeight * sizeof(RGBCOLOR) );
if ( pTempImage == NULL )
{
// -- GODOT start --
free( contrib );
// -- GODOT end --
return 0;
}

View File

@ -1284,7 +1284,9 @@ long Segment::DoLoadCluster(long long& pos, long& len) {
pos += cluster_size;
m_pos = pos;
// -- GODOT start --
delete pCluster;
// -- GODOT end --
if (segment_stop > 0 && m_pos > segment_stop)
return E_FILE_FORMAT_INVALID;