From: Fridrich S. <str...@us...> - 2008-08-13 07:45:47
|
Update of /cvsroot/libwpg/libwpg/src/lib In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3479/src/lib Modified Files: 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.80 retrieving revision 1.81 diff -u -d -r1.80 -r1.81 --- WPG2Parser.cpp 24 Jul 2008 13:52:24 -0000 1.80 +++ WPG2Parser.cpp 13 Aug 2008 07:45:43 -0000 1.81 @@ -1451,7 +1451,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) @@ -1859,7 +1859,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.46 retrieving revision 1.47 diff -u -d -r1.46 -r1.47 --- WPG1Parser.cpp 24 Jul 2008 15:35:55 -0000 1.46 +++ WPG1Parser.cpp 13 Aug 2008 07:45:43 -0000 1.47 @@ -785,7 +785,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()) @@ -834,7 +834,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); |