[PATCH] Fix memory errors in SwWW8ImplReader
Lubos Lunak
l.lunak at suse.cz
Mon Apr 2 06:04:22 PDT 2012
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 at suse.cz
More information about the LibreOffice
mailing list