mirror of
https://github.com/ONLYOFFICE/core.git
synced 2026-07-10 21:37:34 +08:00
DocFormatReader ...
This commit is contained in:
committed by
Alexander Trofimov
parent
7b81367027
commit
ecbb00a1b8
@ -1259,7 +1259,7 @@ namespace DocFileFormat
|
||||
{
|
||||
//it's a bitmap image
|
||||
BitmapBlip* bitBlip = static_cast<BitmapBlip*>(RecordFactory::ReadRecord(&reader, 0));
|
||||
if (bitBlip)
|
||||
if ((bitBlip) && (bitBlip->m_pvBits))
|
||||
{
|
||||
m_ctx->_docx->ImagesList.push_back(ImageFileStructure(GetTargetExt(oBlip->btWin32),
|
||||
vector<unsigned char>(bitBlip->m_pvBits, (bitBlip->m_pvBits + bitBlip->pvBitsSize)), oBlip->btWin32));
|
||||
|
||||
@ -27,7 +27,7 @@ public:
|
||||
{
|
||||
unsigned short rdUShort = 0;
|
||||
|
||||
if ( stream != NULL )
|
||||
if ( (stream != NULL) && (position + 2 < stream->size()))
|
||||
{
|
||||
stream->seek( position );
|
||||
stream->read((unsigned char*)(&rdUShort), sizeof( rdUShort ));
|
||||
@ -42,7 +42,7 @@ public:
|
||||
{
|
||||
short rdShort = 0;
|
||||
|
||||
if ( stream != NULL )
|
||||
if ( (stream != NULL) && (position + 2 < stream->size()))
|
||||
{
|
||||
stream->seek( position );
|
||||
stream->read((unsigned char*)(&rdShort), sizeof( rdShort ));
|
||||
@ -57,7 +57,7 @@ public:
|
||||
{
|
||||
int rdInt = 0;
|
||||
|
||||
if ( stream != NULL )
|
||||
if ( (stream != NULL) && (position + 4 < stream->size()))
|
||||
{
|
||||
stream->seek( position );
|
||||
stream->read( (unsigned char*) &rdInt, sizeof( rdInt ) );
|
||||
@ -72,7 +72,7 @@ public:
|
||||
{
|
||||
int rdUInt = 0;
|
||||
|
||||
if ( stream != NULL )
|
||||
if ( (stream != NULL) && (position + 4 < stream->size()))
|
||||
{
|
||||
stream->seek( position );
|
||||
stream->read((unsigned char*) &rdUInt, sizeof( rdUInt ) );
|
||||
@ -87,7 +87,7 @@ public:
|
||||
{
|
||||
unsigned char rdByte = 0;
|
||||
|
||||
if ( this->stream != NULL )
|
||||
if ( (stream != NULL) && (position + 1 < stream->size()))
|
||||
{
|
||||
stream->seek( position);
|
||||
stream->read( (unsigned char*)&rdByte, sizeof( rdByte ) );
|
||||
@ -102,7 +102,7 @@ public:
|
||||
{
|
||||
unsigned char *rdBytes = NULL;
|
||||
|
||||
if ( ( stream != NULL ) && ( count > 0 ) )
|
||||
if ( ( stream != NULL ) && ( count > 0 ) && (position + count < stream->size()))
|
||||
{
|
||||
rdBytes = new unsigned char[count];
|
||||
|
||||
@ -221,7 +221,6 @@ public:
|
||||
|
||||
private:
|
||||
|
||||
POLE::uint64 position;
|
||||
//std::streampos position;
|
||||
POLE::uint64 position;
|
||||
POLE::Stream* stream;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user