Update of /cvsroot/libwpg/libwpg/src/lib
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3015/src/lib
Modified Files:
Tag: STABLE-0-1-0
WPG1Parser.cpp WPG2Parser.cpp
Log Message:
some more sanity checks due to sum1's tearing-down work. Thanks, dudie
Index: WPG2Parser.cpp
===================================================================
RCS file: /cvsroot/libwpg/libwpg/src/lib/WPG2Parser.cpp,v
retrieving revision 1.58.2.15
retrieving revision 1.58.2.16
diff -u -d -r1.58.2.15 -r1.58.2.16
--- WPG2Parser.cpp 24 Jul 2008 13:53:04 -0000 1.58.2.15
+++ WPG2Parser.cpp 13 Aug 2008 07:44:19 -0000 1.58.2.16
@@ -1461,7 +1461,7 @@
// plain data, uncompression
if(compression_format==0)
- for(unsigned ii=0; ii < tmpBufferSize && m_input->tell() <= m_recordEnd; ii++)
+ for(unsigned ii=0; ii < tmpBufferSize && !m_input->atEOS() && m_input->tell() <= m_recordEnd; ii++)
buffer.push_back( readU8() );
// run-length encoding
else if(compression_format==1)
@@ -1869,7 +1869,7 @@
WPG_DEBUG_MSG(("Image Object Mime Type : %s\n", binaryData.mimeType.cstr()));
- while (m_input->tell() <= m_recordEnd)
+ while (!m_input->atEOS() && m_input->tell() <= m_recordEnd)
binaryData.append((char)readU8());
WPG_DEBUG_MSG((" Image Object Size : %li\n", (unsigned long)binaryData.size()));
Index: WPG1Parser.cpp
===================================================================
RCS file: /cvsroot/libwpg/libwpg/src/lib/WPG1Parser.cpp,v
retrieving revision 1.33.2.12
retrieving revision 1.33.2.13
diff -u -d -r1.33.2.12 -r1.33.2.13
--- WPG1Parser.cpp 24 Jul 2008 15:36:11 -0000 1.33.2.12
+++ WPG1Parser.cpp 13 Aug 2008 07:44:19 -0000 1.33.2.13
@@ -784,7 +784,7 @@
data.rect.y2 = (double)m_height/1200.0 - (double)y2/72.0;
data.clear();
- while (m_input->tell() <= m_recordEnd)
+ while (!m_input->atEOS() && m_input->tell() <= m_recordEnd)
data.append((char)readU8());
data.mimeType = "application/x-postscript";
if (data.size())
@@ -833,7 +833,7 @@
m_input->seek(48, WPX_SEEK_CUR);
data.clear();
- while (m_input->tell() <= m_recordEnd)
+ while (!m_input->atEOS() && m_input->tell() <= m_recordEnd)
data.append((char)readU8());
if (data.size())
m_painter->drawImageObject(data);
|