On Saturday 31 of March 2012, Arnaud Versini wrote:
Hi,
This patch prevent and fix memory issue in SwWW8ImplReader.
Did you base your patch just on your valgrind findings, or do you have also
some other base for these changes, such as something in the .doc spec?
You are right that reading of some of the sprm's is broken, but looking at
the first problem with the test document in Read_UL(), it is called with nId
= 0x246D, which is sprmPFContextualSpacing, and the .doc spec for that one
says it's 1 byte, while e.g. nId = 0xA413, sprmPDyaBefore, is 2 bytes
according to the spec. So as far as I understand it, somebody was a bit lazy
and lumped together two slightly different things, which should otherwise be
read differently, and the proper fix would be to always read the exact size
depending on the nId. On the other hand, looking at the end of
WW8AttributeOutput::FormatULSpace(), we apparently do write
sprmPFContextualSpacing as 2 bytes, which seems wrong.
So could you please explain why you decided to fix the problem this way?
--
Lubos Lunak
l.lunak@suse.cz
Context
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.