Re: [vdagent-win PATCH v8 4/5] Support encoding PNG images

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> 
> On Wed, Jul 19, 2017 at 09:42:42AM +0100, Frediano Ziglio wrote:
> > -uint8_t *PngCoder::from_bitmap(const BITMAPINFO& info, const void *bits,
> > long &size)
> > +uint8_t *PngCoder::from_bitmap(const BITMAPINFO& bmp_info, const void
> > *bits, long &size)
> >  {
> > -    // TODO not implemented
> > -    return NULL;
> > +    // this vector is here to avoid problems as libpng use setjmp/longjmp
> 
> Nit: I'd be more specific about the problems you are avoiding, as the
> goal of this comment is that someone changing this code is not going to
> be careful and not introduce the issues you had in mind.
> 

Well, is tricky as the safe usage of setjmp/longjmp.

Something like

if (setjmp(jbuf)) {

}
...
char *buf = malloc(100);
...
longjmp(jbuf);

the jump will likely to cause a leak of buf.

In case of C++ to avoid not calling the destructor when longjmp is used

Could be

   // this vector is here to avoid leaking resources if libpng use setjmp/longjmp

??

> Looks good otherwise,
> 
> Acked-by: Christophe Fergeau <cfergeau@xxxxxxxxxx>
> 
> Christophe
> 

Frediano
_______________________________________________
Spice-devel mailing list
Spice-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/spice-devel




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]     [Monitors]