-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hello, one of the best QA guys in the known universe, Sum1 of AbiWord
fame, run a lot of WP documents through the wpd2raw 0.8.5 and discovered
a crash in a very rare situation in WP5 parser (if the font descriptor
packet is there, but not the font list packet). Although it is really
rare case, the problem exists and the attached patch is solving the
problem. I would kindly ask the libwpd packagers to reissue for their
distribution a new package containing this patch.

This means that I will try to push the 0.8.6 sometimes in July just
after I stuff a little bit the WP42 parser. My apology for this regression.

Cheers

Fridrich

P.S. Naturally, the document at stake will be included in our regression
suite so that it does not come to bite us anymore.
P'.S'. We really need a dedicated QA person for WP5 parser :-(

- --
Please avoid sending me Word, Excel or PowerPoint attachments.
See http://www.gnu.org/philosophy/no-word-attachments.html
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2.2 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFEi+fGu9a1imXPdA8RAg8cAJ9fDjt69ClTb5tzIWOmraUsbhuVUQCdFIVc
cq8OKHDvgQDW4BQNDgRSJls=
=F5Tg
-----END PGP SIGNATURE-----
--- src/lib/WP5Parser.cpp	27 May 2006 14:09:33 -0000	1.29
+++ src/lib/WP5Parser.cpp	10 Jun 2006 20:37:45 -0000	1.30
@@ -180,7 +180,6 @@
 		{
 			tmpFontSize = static_cast<const WP5ListFontsUsedPacket*>(listener.getGeneralPacketData(2))->getFontSize(0);
 			tmpFontNameOffset = static_cast<const WP5ListFontsUsedPacket*>(listener.getGeneralPacketData(2))->getFontNameOffset(0);
-			tmpFontName = static_cast<const WP5FontNameStringPoolPacket*>(listener.getGeneralPacketData(7))->getFontName(tmpFontNameOffset);
 		}
 		else
 			tmpHasFontsUsedPacket = false;
--- src/lib/WP5FontGroup.cpp	15 May 2006 12:39:49 -0000	1.2
+++ src/lib/WP5FontGroup.cpp	10 Jun 2006 20:37:45 -0000	1.3
@@ -97,7 +97,8 @@
 				return;
 			}
 
-			tmpFontName = static_cast<const WP5FontNameStringPoolPacket*>(listener->getGeneralPacketData(7))->getFontName(tmpFontNameOffset);
+			if (listener->getGeneralPacketData(7))
+				tmpFontName = static_cast<const WP5FontNameStringPoolPacket*>(listener->getGeneralPacketData(7))->getFontName(tmpFontNameOffset);
 			if (m_fontSize >= 0)
 				tmpFontSize = m_fontSize;
 
_______________________________________________
Libwpd-devel mailing list
Libwpd-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libwpd-devel

Reply via email to