Fix coverity findings: fix usage after free.

pull/958/merge
Kim Kulling 2016-09-04 20:40:34 +02:00
parent 9d4d2b2a1c
commit cc860ede66
2 changed files with 17 additions and 16 deletions

View File

@ -76,18 +76,20 @@ static const aiImporterDesc desc = {
SMDImporter::SMDImporter()
: configFrameID(),
mBuffer(),
pScene(),
iFileSize(),
iSmallestFrame(),
dLengthOfAnim(),
bHasUVs(),
iLineNumber()
{}
pScene( nullptr ),
iFileSize( 0 ),
iSmallestFrame( -1 ),
dLengthOfAnim( 0.0 ),
bHasUVs(false ),
iLineNumber(-1) {
// empty
}
// ------------------------------------------------------------------------------------------------
// Destructor, private as well
SMDImporter::~SMDImporter()
{}
SMDImporter::~SMDImporter() {
// empty
}
// ------------------------------------------------------------------------------------------------
// Returns whether the class can handle the format of the given file.
@ -133,9 +135,8 @@ void SMDImporter::InternReadFile( const std::string& pFile, aiScene* pScene, IOS
// Allocate storage and copy the contents of the file to a memory buffer
this->pScene = pScene;
std::vector<char> buff(iFileSize+1);
TextFileToBuffer(file.get(),buff);
mBuffer = &buff[0];
mBuffer.resize( iFileSize + 1 );
TextFileToBuffer(file.get(), mBuffer );
iSmallestFrame = (1 << 31);
bHasUVs = true;
@ -694,7 +695,7 @@ void SMDImporter::CreateOutputMaterials()
// Parse the file
void SMDImporter::ParseFile()
{
const char* szCurrent = mBuffer;
const char* szCurrent = &mBuffer[0];
// read line per line ...
for ( ;; )

View File

@ -372,7 +372,7 @@ private:
unsigned int configFrameID;
/** Buffer to hold the loaded file */
const char* mBuffer;
std::vector<char> mBuffer;
/** Output scene to be filled
*/