Bug 62779 - libpng 1.6 - out of memory
Summary: libpng 1.6 - out of memory
Status: RESOLVED DUPLICATE of bug 63487
Alias: None
Product: cairo
Classification: Unclassified
Component: png functions (show other bugs)
Version: 1.12.14
Hardware: Other All
: medium normal
Assignee: Carl Worth
QA Contact: cairo-bugs mailing list
Depends on:
Reported: 2013-03-26 21:01 UTC by Dominique Leuenberger
Modified: 2013-04-16 10:14 UTC (History)
0 users

See Also:
i915 platform:
i915 features:

Build cairo against libpng16 (1.71 KB, patch)
2013-04-02 20:23 UTC, Dominique Leuenberger
Details | Splinter Review

Description Dominique Leuenberger 2013-03-26 21:01:15 UTC
Adding as bug - so it will not get lost

Simple program attached seems to have different results when 
cairo is built against libpng15 and when it is built against 

cairo-libpng15-changeroot> ./cairo-fail tmp.png
PNG image read.

cairo-libpng16-changeroot> ./cairo-fail tmp.png
Error reading PNG image tmp.png: out of memory


(gdb) n
102              png_app_error(png_ptr,
(gdb) bt
#0  png_rtran_ok (png_ptr=0x604ba0, need_IHDR=0) at pngrtran.c:102
#1  0x00007ffff66e2040 in png_set_read_user_transform_fn
(png_ptr=0x604ba0, read_user_transform_fn=0x7ffff7b4ccfa
<convert_bytes_to_data>) at pngrtran.c:1059
#2  0x00007ffff7b4d1af in read_png (png_closure=0x7fffffffe7f0) at
#3  0x00007ffff7b4d507 in cairo_image_surface_create_from_png
(filename=0x7fffffffec12 "tmp.png") at cairo-png.c:779
#4  0x00000000004008ae in main (argc=2, argv=0x7fffffffe928) at
(gdb) l
97      png_rtran_ok(png_structrp png_ptr, int need_IHDR)

Comment 1 Dominique Leuenberger 2013-04-02 20:23:35 UTC
Created attachment 77340 [details] [review]
Build cairo against libpng16

Patch by pgajdos
Comment 2 Dominique Leuenberger 2013-04-02 20:24:47 UTC
Ups.. sorry.. I just see the patch comes from the mailing list.. and is by Ingmar Runge
Comment 3 Chris Wilson 2013-04-16 10:14:51 UTC

*** This bug has been marked as a duplicate of bug 63487 ***

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.