Cleaned up null pointer handling

This commit is contained in:
Robert Osfield 2016-06-29 17:58:03 +01:00
parent 274a197a82
commit fb537e089b

View File

@ -115,11 +115,17 @@ FT_Byte* FreeTypeLibrary::getFace(std::istream& fontstream, unsigned int index,
/* empty stream into memory, open that, and keep the pointer in a FreeTypeFont for cleanup */ /* empty stream into memory, open that, and keep the pointer in a FreeTypeFont for cleanup */
FT_Byte *buffer = new FT_Byte[static_cast<int>(length)]; FT_Byte *buffer = new FT_Byte[static_cast<int>(length)];
if (!buffer)
{
OSG_WARN<<" .... the font file could not be read, out of memory"<<std::endl;
return 0;
}
fontstream.read(reinterpret_cast<char*>(buffer), length); fontstream.read(reinterpret_cast<char*>(buffer), length);
if (!fontstream || (static_cast<std::streampos>(fontstream.gcount()) != length)) if (!fontstream || (static_cast<std::streampos>(fontstream.gcount()) != length))
{ {
OSG_WARN<<" .... the font file could not be read from its stream"<<std::endl; OSG_WARN<<" .... the font file could not be read from its stream"<<std::endl;
if (buffer) delete [] buffer; delete [] buffer;
return 0; return 0;
} }
args.flags = FT_OPEN_MEMORY; args.flags = FT_OPEN_MEMORY;