From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Paul Eggert Newsgroups: gmane.emacs.bugs Subject: bug#35843: PNG warning: Interlace handling should be turned on when using, png_read_image Date: Tue, 21 May 2019 08:56:05 -0700 Organization: UCLA Computer Science Department Message-ID: References: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------687029353096963AAD5128F3" Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="218950"; mail-complaints-to="usenet@blaine.gmane.org" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.6.1 Cc: 35843-done@debbugs.gnu.org To: Taegil Bae Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Tue May 21 17:57:17 2019 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1hT78Z-000ujC-W2 for geb-bug-gnu-emacs@m.gmane.org; Tue, 21 May 2019 17:57:12 +0200 Original-Received: from localhost ([127.0.0.1]:55977 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hT78Y-0002DK-UP for geb-bug-gnu-emacs@m.gmane.org; Tue, 21 May 2019 11:57:10 -0400 Original-Received: from eggs.gnu.org ([209.51.188.92]:35677) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hT78R-0002D9-8D for bug-gnu-emacs@gnu.org; Tue, 21 May 2019 11:57:04 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hT78Q-0007Py-6F for bug-gnu-emacs@gnu.org; Tue, 21 May 2019 11:57:03 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:55355) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hT78Q-0007Pm-1Z for bug-gnu-emacs@gnu.org; Tue, 21 May 2019 11:57:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1hT78Q-0001JF-00 for bug-gnu-emacs@gnu.org; Tue, 21 May 2019 11:57:02 -0400 In-Reply-To: Resent-From: Paul Eggert Original-Sender: "Debbugs-submit" Resent-To: bug-gnu-emacs@gnu.org Resent-Date: Tue, 21 May 2019 15:57:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: cc-closed 35843 X-GNU-PR-Package: emacs Mail-Followup-To: 35843@debbugs.gnu.org, eggert@cs.ucla.edu, esrevinu@gmail.com Original-Received: via spool by 35843-done@debbugs.gnu.org id=D35843.15584541774969 (code D ref 35843); Tue, 21 May 2019 15:57:01 +0000 Original-Received: (at 35843-done) by debbugs.gnu.org; 21 May 2019 15:56:17 +0000 Original-Received: from localhost ([127.0.0.1]:40666 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hT77h-0001I5-9s for submit@debbugs.gnu.org; Tue, 21 May 2019 11:56:17 -0400 Original-Received: from zimbra.cs.ucla.edu ([131.179.128.68]:54562) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hT77e-0001Hn-Fr for 35843-done@debbugs.gnu.org; Tue, 21 May 2019 11:56:16 -0400 Original-Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 73BCF161BC1; Tue, 21 May 2019 08:56:07 -0700 (PDT) Original-Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id Kv1y63K1XdEw; Tue, 21 May 2019 08:56:06 -0700 (PDT) Original-Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 28ACB161BC4; Tue, 21 May 2019 08:56:06 -0700 (PDT) X-Virus-Scanned: amavisd-new at zimbra.cs.ucla.edu Original-Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id vP3owFY3iJfl; Tue, 21 May 2019 08:56:06 -0700 (PDT) Original-Received: from Penguin.CS.UCLA.EDU (Penguin.CS.UCLA.EDU [131.179.64.200]) by zimbra.cs.ucla.edu (Postfix) with ESMTPSA id D9480161B58; Tue, 21 May 2019 08:56:05 -0700 (PDT) Openpgp: preference=signencrypt Autocrypt: addr=eggert@cs.ucla.edu; prefer-encrypt=mutual; keydata= xsFNBEyAcmQBEADAAyH2xoTu7ppG5D3a8FMZEon74dCvc4+q1XA2J2tBy2pwaTqfhpxxdGA9 Jj50UJ3PD4bSUEgN8tLZ0san47l5XTAFLi2456ciSl5m8sKaHlGdt9XmAAtmXqeZVIYX/UFS 96fDzf4xhEmm/y7LbYEPQdUdxu47xA5KhTYp5bltF3WYDz1Ygd7gx07Auwp7iw7eNvnoDTAl KAl8KYDZzbDNCQGEbpY3efZIvPdeI+FWQN4W+kghy+P6au6PrIIhYraeua7XDdb2LS1en3Ss mE3QjqfRqI/A2ue8JMwsvXe/WK38Ezs6x74iTaqI3AFH6ilAhDqpMnd/msSESNFt76DiO1ZK QMr9amVPknjfPmJISqdhgB1DlEdw34sROf6V8mZw0xfqT6PKE46LcFefzs0kbg4GORf8vjG2 Sf1tk5eU8MBiyN/bZ03bKNjNYMpODDQQwuP84kYLkX2wBxxMAhBxwbDVZudzxDZJ1C2VXujC OJVxq2kljBM9ETYuUGqd75AW2LXrLw6+MuIsHFAYAgRr7+KcwDgBAfwhPBYX34nSSiHlmLC+ KaHLeCLF5ZI2vKm3HEeCTtlOg7xZEONgwzL+fdKo+D6SoC8RRxJKs8a3sVfI4t6CnrQzvJbB n6gxdgCu5i29J1QCYrCYvql2UyFPAK+do99/1jOXT4m2836j1wARAQABzSBQYXVsIEVnZ2Vy dCA8ZWdnZXJ0QGNzLnVjbGEuZWR1PsLBfgQTAQIAKAUCTIByZAIbAwUJEswDAAYLCQgHAwIG FQgCCQoLBBYCAwECH Content-Language: en-US X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.51.188.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:159613 Archived-At: This is a multi-part message in MIME format. --------------687029353096963AAD5128F3 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Thanks for reporting the problem. It's not clear why interlace handling needs to be enabled manually when GNU Emacs will merely read the whole image (isn't libpng smart enough to do that on its own?) but I guess it's better to pacify libpng, if only to prevent users from worrying. I installed the attached patch. --------------687029353096963AAD5128F3 Content-Type: text/x-patch; name="0001-Pacify-libpng-on-interlaced-images-Bug-35843.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="0001-Pacify-libpng-on-interlaced-images-Bug-35843.patch" >From eeebdc49c0e113f1dd31b11c6addbc7082a406d6 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Tue, 21 May 2019 08:51:48 -0700 Subject: [PATCH] Pacify libpng on interlaced images (Bug#35843) * src/image.c (png_set_interlace_handling) [WINDOWSNT]: New function to link. (init_png_functions): Link it. (png_load_body): Call it before calling png_read_update_info. --- src/image.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/image.c b/src/image.c index 35ca3e2d66..57b405f6db 100644 --- a/src/image.c +++ b/src/image.c @@ -5802,6 +5802,7 @@ DEF_DLL_FN (png_uint_32, png_get_valid, (png_structp, png_infop, png_uint_32)); DEF_DLL_FN (void, png_set_strip_16, (png_structp)); DEF_DLL_FN (void, png_set_expand, (png_structp)); DEF_DLL_FN (void, png_set_gray_to_rgb, (png_structp)); +DEF_DLL_FN (int, png_set_interlace_handling, (png_structp)); DEF_DLL_FN (void, png_set_background, (png_structp, png_color_16p, int, int, double)); DEF_DLL_FN (png_uint_32, png_get_bKGD, @@ -5840,6 +5841,7 @@ init_png_functions (void) LOAD_DLL_FN (library, png_set_strip_16); LOAD_DLL_FN (library, png_set_expand); LOAD_DLL_FN (library, png_set_gray_to_rgb); + LOAD_DLL_FN (library, png_set_interlace_handling); LOAD_DLL_FN (library, png_set_background); LOAD_DLL_FN (library, png_get_bKGD); LOAD_DLL_FN (library, png_read_update_info); @@ -5875,6 +5877,7 @@ init_png_functions (void) # undef png_set_background # undef png_set_expand # undef png_set_gray_to_rgb +# undef png_set_interlace_handling # undef png_set_longjmp_fn # undef png_set_read_fn # undef png_set_sig_bytes @@ -5899,6 +5902,7 @@ init_png_functions (void) # define png_set_background fn_png_set_background # define png_set_expand fn_png_set_expand # define png_set_gray_to_rgb fn_png_set_gray_to_rgb +# define png_set_interlace_handling fn_png_set_interlace_handling # define png_set_longjmp_fn fn_png_set_longjmp_fn # define png_set_read_fn fn_png_set_read_fn # define png_set_sig_bytes fn_png_set_sig_bytes @@ -6213,7 +6217,7 @@ png_load_body (struct frame *f, struct image *img, struct png_load_context *c) } } - /* Update info structure. */ + png_set_interlace_handling (png_ptr); png_read_update_info (png_ptr, info_ptr); /* Get number of channels. Valid values are 1 for grayscale images -- 2.21.0 --------------687029353096963AAD5128F3--