[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