Commit ecbb00a1 authored by ElenaSubbotina's avatar ElenaSubbotina Committed by Alexander Trofimov

DocFormatReader ...

parent 7b813670
......@@ -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];
......@@ -222,6 +222,5 @@ public:
private:
POLE::uint64 position;
//std::streampos position;
POLE::Stream* stream;
};
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment