Issue of the Implementation # S0640


gdk_pixbuf_saturate_and_pixelate may corrupt memory

Detailed Description

When called with "saturation" = 1.0 and "pixelate" = FALSE, gdk_pixbuf_saturate_and_pixelate copies the contents of "src" to "dest" with memcpy (taking into account that the format, dimensions and rowstride values of the images are the same).

However images that do not occupy a contiguous memory block can not be copied in this way. Subpixbuf is a significant example of this case. A subpixbuf is a part of another image. When an image is copied into a subpixbuf via memcpy, not only the subpixbuf changes. The image surrounding the subpixbuf is changed too.

The example code revealing the problem can be found here.

Problem location(s) in the standard

Gdk-pixbuf 2.6.2 API Reference, Utilities


gtk-gdk-pixbuf 2.6.2 or later


Gnome Bugzilla 543085


fixed in gtk+-2.14