[PATCH] Fix memory errors in SwWW8ImplReader
Miklos Vajna
vmiklos at suse.cz
Mon Apr 2 07:07:35 PDT 2012
Hi Lubos,
On Mon, Apr 02, 2012 at 03:04:22PM +0200, Lubos Lunak <l.lunak at suse.cz> wrote:
> 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.
They are read in the same method, since they are all part of the same
SvxULSpaceItem.
> On the other hand, looking at the end of
> WW8AttributeOutput::FormatULSpace(), we apparently do write
> sprmPFContextualSpacing as 2 bytes, which seems wrong.
Both reading and writing of sprmPFContextualSpacing should be fixed with
http://cgit.freedesktop.org/libreoffice/core/commit/?id=36e176ee2354e62d5e4208fb0ae2a101ba32d7f5
Hope this helps. :)
Miklos
More information about the LibreOffice
mailing list