diff --git a/Engine/source/T3D/gameBase/gameBase.cpp b/Engine/source/T3D/gameBase/gameBase.cpp index 8f9b04a99..86225702f 100644 --- a/Engine/source/T3D/gameBase/gameBase.cpp +++ b/Engine/source/T3D/gameBase/gameBase.cpp @@ -456,7 +456,7 @@ F32 GameBase::getUpdatePriority(CameraScopeQuery *camInfo, U32 updateMask, S32 u // Weight by interest. F32 wInterest; - if (getTypeMask() & (PlayerObjectType || VehicleObjectType )) + if (getTypeMask() & (PlayerObjectType | VehicleObjectType )) wInterest = 0.75f; else if (getTypeMask() & ProjectileObjectType) { diff --git a/Engine/source/T3D/lighting/reflectionProbe.cpp b/Engine/source/T3D/lighting/reflectionProbe.cpp index c7a9cfed8..c947413c1 100644 --- a/Engine/source/T3D/lighting/reflectionProbe.cpp +++ b/Engine/source/T3D/lighting/reflectionProbe.cpp @@ -709,7 +709,7 @@ void ReflectionProbe::processStaticCubemap() IBLUtilities::SaveCubeMap(prefilterFileName, mPrefilterMap->mCubemap); } - if ((mIrridianceMap != nullptr || !mIrridianceMap->mCubemap.isNull()) && (mPrefilterMap != nullptr || !mPrefilterMap->mCubemap.isNull())) + if ((mIrridianceMap != nullptr && !mIrridianceMap->mCubemap.isNull()) && (mPrefilterMap != nullptr && !mPrefilterMap->mCubemap.isNull())) { mProbeInfo.mPrefilterCubemap = mPrefilterMap->mCubemap; mProbeInfo.mIrradianceCubemap = mIrridianceMap->mCubemap; diff --git a/Engine/source/T3D/shapeImage.cpp b/Engine/source/T3D/shapeImage.cpp index f921aa680..c71c6f938 100644 --- a/Engine/source/T3D/shapeImage.cpp +++ b/Engine/source/T3D/shapeImage.cpp @@ -576,7 +576,7 @@ bool ShapeBaseImageData::preload(bool server, String &errorStr) void ShapeBaseImageData::handleStateSoundTrack(const U32& stateId) { - if (stateId > MaxStates) + if (stateId >= MaxStates) return; StateData& s = state[stateId]; diff --git a/Engine/source/console/console.cpp b/Engine/source/console/console.cpp index 1c96a15fb..643baa421 100644 --- a/Engine/source/console/console.cpp +++ b/Engine/source/console/console.cpp @@ -1302,7 +1302,8 @@ bool executeFile(const char* fileName, bool noCalls, bool journalScript) CodeBlock *newCodeBlock = new CodeBlock(); newCodeBlock->compileExec(scriptFileName, script, noCalls, 0); delete[] script; - + delete newCodeBlock; + execDepth--; return true; } @@ -1476,6 +1477,7 @@ bool executeFile(const char* fileName, bool noCalls, bool journalScript) code->read(scriptFileName, *compiledStream); delete compiledStream; code->exec(0, scriptFileName, NULL, 0, NULL, noCalls, NULL, 0); + delete code; ret = true; } else diff --git a/Engine/source/console/fileSystemFunctions.cpp b/Engine/source/console/fileSystemFunctions.cpp index a9e2f47e6..b6fb119ba 100644 --- a/Engine/source/console/fileSystemFunctions.cpp +++ b/Engine/source/console/fileSystemFunctions.cpp @@ -490,8 +490,8 @@ DefineEngineFunction(getDirectoryList, String, ( const char* path, S32 depth ), if (fullpath[dStrlen(fullpath) - 1] != '/') { S32 pos = dStrlen(fullpath); - fullpath[pos] = '/'; - fullpath[pos + 1] = '\0'; + fullpath[pos - 1] = '/'; + fullpath[pos] = '\0'; } // Dump the directories. diff --git a/Engine/source/console/telnetDebugger.cpp b/Engine/source/console/telnetDebugger.cpp index d3b163f1f..cc810a8a1 100644 --- a/Engine/source/console/telnetDebugger.cpp +++ b/Engine/source/console/telnetDebugger.cpp @@ -925,6 +925,7 @@ void TelnetDebugger::evaluateExpression(const char *tag, S32 frame, const char * dSprintf( buffer, len, format, tag, result.getString()[0] ? result.getString() : "\"\"" ); send( buffer ); + delete newCodeBlock; delete [] buffer; } diff --git a/Engine/source/gfx/D3D11/gfxD3D11Device.cpp b/Engine/source/gfx/D3D11/gfxD3D11Device.cpp index b1af047bb..96078b88f 100644 --- a/Engine/source/gfx/D3D11/gfxD3D11Device.cpp +++ b/Engine/source/gfx/D3D11/gfxD3D11Device.cpp @@ -280,7 +280,7 @@ void GFXD3D11Device::enumerateAdapters(Vector &adapterList) SAFE_DELETE_ARRAY(str); dStrncpy(toAdd->mName, Description.c_str(), GFXAdapter::MaxAdapterNameLen); - dStrncat(toAdd->mName, " (D3D11)", GFXAdapter::MaxAdapterNameLen); + dStrncat(toAdd->mName, " (D3D11)", sizeof(toAdd->mName) - strlen(toAdd->mName) - 1); IDXGIOutput* pOutput = NULL; HRESULT hr; diff --git a/Engine/source/gfx/bitmap/ddsFile.cpp b/Engine/source/gfx/bitmap/ddsFile.cpp index 3d9c33685..e95e6e957 100644 --- a/Engine/source/gfx/bitmap/ddsFile.cpp +++ b/Engine/source/gfx/bitmap/ddsFile.cpp @@ -744,6 +744,7 @@ DDSFile *DDSFile::createDDSCubemapFileFromGBitmaps(GBitmap **gbmps) GFXFormat fmt = pBitmap->getFormat(); if (fmt != GFXFormatR8G8B8A8 && fmt != GFXFormatR16G16B16A16F) { + delete ret; Con::errorf("createDDSCubemapFileFromGBitmaps: unsupported format"); return NULL; } diff --git a/Engine/source/gfx/bitmap/gBitmap.cpp b/Engine/source/gfx/bitmap/gBitmap.cpp index 281ee7a5d..355bf7486 100644 --- a/Engine/source/gfx/bitmap/gBitmap.cpp +++ b/Engine/source/gfx/bitmap/gBitmap.cpp @@ -1436,6 +1436,7 @@ DefineEngineFunction(saveScaledImage, bool, (const char* bitmapSource, const cha if (!fs.open(destinationPath.getFullPath(), Torque::FS::File::Write)) { Con::errorf("saveScaledImage() - Failed to open output file '%s'!", bitmapDest); + delete image; return false; } else @@ -1443,6 +1444,7 @@ DefineEngineFunction(saveScaledImage, bool, (const char* bitmapSource, const cha image->writeBitmap("png", fs); fs.close(); + delete image; } return true; diff --git a/Engine/source/gui/worldEditor/guiConvexShapeEditorCtrl.cpp b/Engine/source/gui/worldEditor/guiConvexShapeEditorCtrl.cpp index 6344faa2a..a095367f0 100644 --- a/Engine/source/gui/worldEditor/guiConvexShapeEditorCtrl.cpp +++ b/Engine/source/gui/worldEditor/guiConvexShapeEditorCtrl.cpp @@ -2704,7 +2704,7 @@ SceneObject* GuiConvexEditorCtrl::createPolyhedralObject(const char* className, // Create the object. SceneObject* object = dynamic_cast< SceneObject* >(classRep->create()); - if (!Object) + if (!object) { Con::errorf("WorldEditor::createPolyhedralObject - Could not create SceneObject with class '%s'", className); return NULL; diff --git a/Engine/source/lighting/common/projectedShadow.cpp b/Engine/source/lighting/common/projectedShadow.cpp index 2860d71fb..030c37fd7 100644 --- a/Engine/source/lighting/common/projectedShadow.cpp +++ b/Engine/source/lighting/common/projectedShadow.cpp @@ -395,7 +395,7 @@ void ProjectedShadow::_calcScore( const SceneRenderState *state ) F32 secs = mFloor( (F32)msSinceLastRender / 1000.0f ); mScore = pct + secs; - mClampF( mScore, 0.0f, 2000.0f ); + mScore = mClampF( mScore, 0.0f, 2000.0f ); } void ProjectedShadow::update( const SceneRenderState *state ) diff --git a/Engine/source/renderInstance/renderProbeMgr.cpp b/Engine/source/renderInstance/renderProbeMgr.cpp index 7f8a3dc96..0f1ce87f6 100644 --- a/Engine/source/renderInstance/renderProbeMgr.cpp +++ b/Engine/source/renderInstance/renderProbeMgr.cpp @@ -798,7 +798,7 @@ void RenderProbeMgr::_update4ProbeConsts(const SceneData& sgData, shaderConsts->setSafe(probeShaderConsts->mProbeConfigDataArraySC, probeConfigAlignedArray); } - if (mBRDFTexture.isValid(), probeShaderConsts->mBRDFTextureMap->getSamplerRegister() != -1) + if (mBRDFTexture.isValid() && probeShaderConsts->mBRDFTextureMap->getSamplerRegister() != -1) GFX->setTexture(probeShaderConsts->mBRDFTextureMap->getSamplerRegister(), mBRDFTexture); if (mWetnessTexture.isValid() && probeShaderConsts->mWetnessTextureMap->getSamplerRegister() != -1) diff --git a/Engine/source/shaderGen/shaderGen.cpp b/Engine/source/shaderGen/shaderGen.cpp index 90ca96e65..9ae35d474 100644 --- a/Engine/source/shaderGen/shaderGen.cpp +++ b/Engine/source/shaderGen/shaderGen.cpp @@ -200,6 +200,7 @@ void ShaderGen::generateShader( const MaterialFeatureData &featureData, if(!s->open(pixShaderName, Torque::FS::File::Write )) { AssertFatal(false, "Failed to open Shader Stream" ); + delete s; return; } diff --git a/Engine/source/sim/netConnection.cpp b/Engine/source/sim/netConnection.cpp index 9309674a9..ac3a2c325 100644 --- a/Engine/source/sim/netConnection.cpp +++ b/Engine/source/sim/netConnection.cpp @@ -980,7 +980,7 @@ bool NetConnection::readDemoStartBlock(BitStream* stream) bool NetConnection::startDemoRecord(const char *fileName) { - FileStream *fs = new FileStream; + FileStream *fs = NULL; if((fs = FileStream::createAndOpen( fileName, Torque::FS::File::Write )) == NULL) return false; diff --git a/Engine/source/terrain/terrImport.cpp b/Engine/source/terrain/terrImport.cpp index 88d0c5217..98e7eae8c 100644 --- a/Engine/source/terrain/terrImport.cpp +++ b/Engine/source/terrain/terrImport.cpp @@ -60,6 +60,7 @@ DefineEngineStaticMethod( TerrainBlock, createNew, S32, (String terrainName, U32 if( !terrain->setFile( terrFileName ) ) { Con::errorf( "TerrainBlock::createNew - error creating '%s'", terrFileName.c_str() ); + delete terrain; return 0; }