Addin exceptions in SvStream

Michael Meeks michael.meeks at suse.com
Mon Dec 10 13:41:53 PST 2012


Hi Marc,

On Mon, 2012-12-10 at 10:27 -0500, Marc-André Laverdière wrote:
> I am doing some proactive hardening of the image filters these days,
> and I have to say that there is a lot of code like this:
> 
> *stream >> meh;

	Which is IMHO intrinsically broken; I'd prefer to see that as:

	meh = stream.ReadInt32();

	Where we default to zero for end-of stream and bad streams - rather
than uninitialized variables. Not only does it get rid of the fragile
operator overload, make the code clearer by having the type information
at the call-site etc. It also avoids using exceptions ;-)

> if (! stream->good())
>   return sal_False;
> 
> It is very cluttered to do this for _every_ read.

	Agreed - so people don't and un-intialized data creeps in.

	IIRC we had a plan / easy-hack to move all operator overloaded stream
read/writers to use explicit methods. Quite possibly if you poke at
clang you can magically make it generate patches for us that do
that ? :-) [ worth a poke ].

	How does that sound ?

		Michael.

-- 
michael.meeks at suse.com  <><, Pseudo Engineer, itinerant idiot



More information about the LibreOffice mailing list