From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Pip Cet Newsgroups: gmane.emacs.bugs Subject: bug#36773: 27.0.50; Accessing a cached SVG with eww can cause Emacs to crash Date: Thu, 25 Jul 2019 14:14:43 +0000 Message-ID: References: <87muh2cv40.fsf@mouse.gnus.org> <83k1c6nuj6.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="0000000000004d9899058e820e34" Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="45299"; mail-complaints-to="usenet@blaine.gmane.org" Cc: larsi@gnus.org, plaiceadam@gmail.com, 36773@debbugs.gnu.org To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Thu Jul 25 16:16:09 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.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1hqeXR-000BZs-DT for geb-bug-gnu-emacs@m.gmane.org; Thu, 25 Jul 2019 16:16:09 +0200 Original-Received: from localhost ([::1]:60534 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hqeXP-00037Y-Ua for geb-bug-gnu-emacs@m.gmane.org; Thu, 25 Jul 2019 10:16:07 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:60018) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hqeXM-00036z-6u for bug-gnu-emacs@gnu.org; Thu, 25 Jul 2019 10:16:05 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hqeXK-0000eL-5c for bug-gnu-emacs@gnu.org; Thu, 25 Jul 2019 10:16:04 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:59645) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hqeXK-0000e6-0X for bug-gnu-emacs@gnu.org; Thu, 25 Jul 2019 10:16:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1hqeXJ-0005g0-RS for bug-gnu-emacs@gnu.org; Thu, 25 Jul 2019 10:16:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Pip Cet Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 25 Jul 2019 14:16:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 36773 X-GNU-PR-Package: emacs Original-Received: via spool by 36773-submit@debbugs.gnu.org id=B36773.156406412821777 (code B ref 36773); Thu, 25 Jul 2019 14:16:01 +0000 Original-Received: (at 36773) by debbugs.gnu.org; 25 Jul 2019 14:15:28 +0000 Original-Received: from localhost ([127.0.0.1]:40233 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hqeWm-0005fB-1P for submit@debbugs.gnu.org; Thu, 25 Jul 2019 10:15:28 -0400 Original-Received: from mail-ot1-f51.google.com ([209.85.210.51]:45980) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hqeWj-0005ex-T7 for 36773@debbugs.gnu.org; Thu, 25 Jul 2019 10:15:26 -0400 Original-Received: by mail-ot1-f51.google.com with SMTP id x21so13334417otq.12 for <36773@debbugs.gnu.org>; Thu, 25 Jul 2019 07:15:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=8Xt06QNiBYMRM72rgQTPi6n0ejCJTqXYrL6vqjrp4Go=; b=geCEyrOyYGRvjlhuRNYXNUpzzgUwTJKcH89X4+j6oNooUxatKUnUOeyABsqPz1338W iUP2tYI5bcrIw3FLt1RwpVAZ5jj1q8u93fXrG8e1nH/j8BKVmLKb2EIxJFU56s0PuXXY rqLRE33g//vfOkriw+iCq9OQWnHvuA7fs7BM2Uc94gcSCCvz3yIBam6ssmhR0cFTnDrT BRoOQqceTrbCv1PcA2j/Uyd8Rj8TR+6GU5kavo8OIv/NMupuzfydJOOi1IQ2Qe+PQB87 wgY5woaieu4mpYaBGUuNiEAcTyGNZ+1OkvNbLYgx6XO5/+i3XyQ9oYLZxDWimlJw+rQc B2nA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=8Xt06QNiBYMRM72rgQTPi6n0ejCJTqXYrL6vqjrp4Go=; b=NuQKvvzEAxU7Q3bJVAELjXQDHd/XzikKnHr1AqZI7uI6xDcw0KvCnVhXFXqcBC4E+q RPiw75m5XZ/vRH+KUNtIlAUNlLnPGT+P5lOM0qaz2aGN1PKXeWcZJ2XaBLp4owNt0Pck UxIOFvuIY8c98Zb0s1Ld/dGn262g+yReHDSvuecylIELikUiH2Er0B9JMWBKiKRSfuih pxK0EF0E+ey/3bSrDh9owO1DgUlS7MQ7QZVNJH7Pz7POtqjtnPj/R6xLz3jOO4PU5gmr H0DrhCIbcdQB50SlHy3tTXvuKYMyQ2jJq9oxY5jUyRJgXOMOjMhAjmq9zsrWBo2z3VNo Q+7A== X-Gm-Message-State: APjAAAVLjfd3muEX+3lVCEOTPMiJ/Q+bk5rgwmrSURk1dFc+gok+Qbbx E+PLr3hf8XJOS+bBJD4ui71ibjmyiKEyMILGPoI= X-Google-Smtp-Source: APXvYqwSHsCrtsbetkH5nRH0w5Y8upL5U5MSuorWnwaX72AffJdjMgSGGcxdO3GNMgkvGDRat9rvA/5qimaG1a0GxaA= X-Received: by 2002:a9d:6014:: with SMTP id h20mr5213936otj.210.1564064120400; Thu, 25 Jul 2019 07:15:20 -0700 (PDT) In-Reply-To: <83k1c6nuj6.fsf@gnu.org> 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:163713 Archived-At: --0000000000004d9899058e820e34 Content-Type: text/plain; charset="UTF-8" On Thu, Jul 25, 2019 at 12:55 PM Eli Zaretskii wrote: > > From: Pip Cet > > Date: Thu, 25 Jul 2019 11:51:16 +0000 > > Cc: Adam Plaice , 36773@debbugs.gnu.org > > > > > Perhaps url-store-in-cache should take a parameter to remove the > > > Content-Encoding header (i.e. "gzip")? It should really be up to the > > > program that uses url.el (i.e. shr) whether to cache the data or not... > > > > I misread what you wrote at first, but I like my misreading better: > > url-handle-content-transfer-encoding modifies the message, but not its > > headers. Why shouldn't it do both? > > Yes, I think it should. Because that's the root cause of the problem: > the data is uncompressed, but the headers still say it is compressed. Okay, I think it's likely we're going to require something similar for other headers, so I added an argument to mail-fetch-field to delete the fetched field's header line(s). Patches attached (the first should be unmodified). Appears to work here. --0000000000004d9899058e820e34 Content-Type: text/x-patch; charset="US-ASCII"; name="0001-Don-t-crash-when-parsing-bad-SVG-data-bug-36773.patch" Content-Disposition: attachment; filename="0001-Don-t-crash-when-parsing-bad-SVG-data-bug-36773.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_jyiptwcz0 RnJvbSAxYjZmM2JkNTMyYmYxZWE4MTlkMzc4MGRlZjJlMmM5NTk0YjEyMDRkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBQaXAgQ2V0IDxwaXBjZXRAZ21haWwuY29tPgpEYXRlOiBXZWQs IDI0IEp1bCAyMDE5IDEyOjM0OjM2ICswMDAwClN1YmplY3Q6IFtQQVRDSCAxLzJdIERvbid0IGNy YXNoIHdoZW4gcGFyc2luZyBiYWQgU1ZHIGRhdGEgKGJ1ZyMzNjc3MykKCiogc3JjL2ltYWdlLmMg KHN2Z19sb2FkX2ltYWdlKTogQmUgbW9yZSBjYXJlZnVsIGFib3V0IGxpYnJzdmcKcmV0dXJuaW5n IE5VTEwgcG9pbnRlcnMuCi0tLQogc3JjL2ltYWdlLmMgfCA5ICsrKysrKystLQogMSBmaWxlIGNo YW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmMv aW1hZ2UuYyBiL3NyYy9pbWFnZS5jCmluZGV4IDM1NWM4NDk0OTEuLmIxZjg0ZTE5NDYgMTAwNjQ0 Ci0tLSBhL3NyYy9pbWFnZS5jCisrKyBiL3NyYy9pbWFnZS5jCkBAIC05NTMwLDExICs5NTMwLDE1 IEBAIHN2Z19sb2FkX2ltYWdlIChzdHJ1Y3QgZnJhbWUgKmYsIHN0cnVjdCBpbWFnZSAqaW1nLCBj aGFyICpjb250ZW50cywKICAgaWYgKGJhc2VfZmlsZSkKICAgICBnX29iamVjdF91bnJlZiAoYmFz ZV9maWxlKTsKICAgZ19vYmplY3RfdW5yZWYgKGlucHV0X3N0cmVhbSk7Ci0gIGlmIChlcnIpIGdv dG8gcnN2Z19lcnJvcjsKKyAgaWYgKGVyciB8fCByc3ZnX2hhbmRsZSA9PSBOVUxMKQorICAgIGdv dG8gcnN2Z19lcnJvcjsKICNlbHNlCiAgIC8qIE1ha2UgYSBoYW5kbGUgdG8gYSBuZXcgcnN2ZyBv YmplY3QuICAqLwogICByc3ZnX2hhbmRsZSA9IHJzdmdfaGFuZGxlX25ldyAoKTsKIAorICBpZiAo cnN2Z19oYW5kbGUgPT0gTlVMTCkKKyAgICBnb3RvIHJzdmdfZXJyb3I7CisKICAgLyogU2V0IGJh c2VfdXJpIGZvciBwcm9wZXJseSBoYW5kbGluZyByZWZlcmVuY2VkIGltYWdlcyAodmlhICdocmVm JykuCiAgICAgIFNlZSByc3ZnIGJ1ZyA1OTYxMTQgLSAiaW1hZ2UgcmVmcyBhcmUgcmVsYXRpdmUg dG8gY3VyZGlyLCBub3QgLnN2ZyBmaWxlIgogICAgICA8aHR0cHM6Ly9naXRsYWIuZ25vbWUub3Jn L0dOT01FL2xpYnJzdmcvaXNzdWVzLzMzPi4gKi8KQEAgLTk2NTQsNyArOTY1OCw4IEBAIHN2Z19s b2FkX2ltYWdlIChzdHJ1Y3QgZnJhbWUgKmYsIHN0cnVjdCBpbWFnZSAqaW1nLCBjaGFyICpjb250 ZW50cywKICAgcmV0dXJuIDE7CiAKICByc3ZnX2Vycm9yOgotICBnX29iamVjdF91bnJlZiAocnN2 Z19oYW5kbGUpOworICBpZiAocnN2Z19oYW5kbGUgIT0gTlVMTCkKKyAgICBnX29iamVjdF91bnJl ZiAocnN2Z19oYW5kbGUpOwogICAvKiBGSVhNRTogVXNlIGVycm9yLT5tZXNzYWdlIHNvIHRoZSB1 c2VyIGtub3dzIHdoYXQgaXMgdGhlIGFjdHVhbAogICAgICBwcm9ibGVtIHdpdGggdGhlIGltYWdl LiAgKi8KICAgaW1hZ2VfZXJyb3IgKCJFcnJvciBwYXJzaW5nIFNWRyBpbWFnZSBgJXMnIiwgaW1n LT5zcGVjKTsKLS0gCjIuMjIuMAoK --0000000000004d9899058e820e34 Content-Type: text/x-patch; charset="US-ASCII"; name="0002-Don-t-double-decompress-cached-HTTP-responses-bug-36.patch" Content-Disposition: attachment; filename="0002-Don-t-double-decompress-cached-HTTP-responses-bug-36.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_jyipu19p1 RnJvbSAwMjZmNzk5ZTQyYzJjYTJmYTNhM2RjMTQ2N2M4YjJlYmQ1OTgzZGQwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBQaXAgQ2V0IDxwaXBjZXRAZ21haWwuY29tPgpEYXRlOiBUaHUs IDI1IEp1bCAyMDE5IDEzOjIyOjE1ICswMDAwClN1YmplY3Q6IFtQQVRDSCAyLzJdIERvbid0IGRv dWJsZS1kZWNvbXByZXNzIGNhY2hlZCBIVFRQIHJlc3BvbnNlcyAoYnVnIzM2NzczKQoKKiBsaXNw L3VybC91cmwtaHR0cC5lbCAodXJsLWhhbmRsZS1jb250ZW50LXRyYW5zZmVyLWVuY29kaW5nKTog TW9kaWZ5CnRoZSBtZXNzYWdlIGhlYWRlcnMgYXMgd2VsbCBhcyB0aGUgbWVzc2FnZSBib2R5IHRv IHJlZmxlY3QKZGVjb21wcmVzc2lvbi4KKiBsaXNwL21haWwvbWFpbC11dGlscy5lbCAobWFpbC1m ZXRjaC1maWVsZCk6IEFkZCBERUxFVEUgYXJndW1lbnQsIHRvCmRlbGV0ZSBoZWFkZXIgbGluZXMg aW5jbHVkZWQgaW4gdGhlIHJlc3VsdC4KLS0tCiBsaXNwL21haWwvbWFpbC11dGlscy5lbCB8IDEz ICsrKysrKysrKystLS0KIGxpc3AvdXJsL3VybC1odHRwLmVsICAgIHwgIDIgKy0KIDIgZmlsZXMg Y2hhbmdlZCwgMTEgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9s aXNwL21haWwvbWFpbC11dGlscy5lbCBiL2xpc3AvbWFpbC9tYWlsLXV0aWxzLmVsCmluZGV4IGNi Y2JkZmFlYjIuLmZkMDBkZDE5YmMgMTAwNjQ0Ci0tLSBhL2xpc3AvbWFpbC9tYWlsLXV0aWxzLmVs CisrKyBiL2xpc3AvbWFpbC9tYWlsLXV0aWxzLmVsCkBAIC0yODQsMTEgKzI4NCwxMyBAQCAncm1h aWwtZG9udC1yZXBseS10bwogCiAMCiA7OzsjIyNhdXRvbG9hZAotKGRlZnVuIG1haWwtZmV0Y2gt ZmllbGQgKGZpZWxkLW5hbWUgJm9wdGlvbmFsIGxhc3QgYWxsIGxpc3QpCisoZGVmdW4gbWFpbC1m ZXRjaC1maWVsZCAoZmllbGQtbmFtZSAmb3B0aW9uYWwgbGFzdCBhbGwgbGlzdCBkZWxldGUpCiAg ICJSZXR1cm4gdGhlIHZhbHVlIG9mIHRoZSBoZWFkZXIgZmllbGQgd2hvc2UgdHlwZSBpcyBGSUVM RC1OQU1FLgogSWYgc2Vjb25kIGFyZyBMQVNUIGlzIG5vbi1uaWwsIHVzZSB0aGUgbGFzdCBmaWVs ZCBvZiB0eXBlIEZJRUxELU5BTUUuCiBJZiB0aGlyZCBhcmcgQUxMIGlzIG5vbi1uaWwsIGNvbmNh dGVuYXRlIGFsbCBzdWNoIGZpZWxkcyB3aXRoIGNvbW1hcyBiZXR3ZWVuLgogSWYgNHRoIGFyZyBM SVNUIGlzIG5vbi1uaWwsIHJldHVybiBhIGxpc3Qgb2YgYWxsIHN1Y2ggZmllbGRzLgorSWYgNXRo IGFyZyBERUxFVEUgaXMgbm9uLW5pbCwgZGVsZXRlIGFsbCBoZWFkZXIgbGluZXMgdGhhdCBhcmUK K2luY2x1ZGVkIGluIHRoZSByZXN1bHQuCiBUaGUgYnVmZmVyIHNob3VsZCBiZSBuYXJyb3dlZCB0 byBqdXN0IHRoZSBoZWFkZXIsIGVsc2UgZmFsc2UKIG1hdGNoZXMgbWF5IGJlIHJldHVybmVkIGZy b20gdGhlIG1lc3NhZ2UgYm9keS4iCiAgIChzYXZlLWV4Y3Vyc2lvbgpAQCAtMzExLDcgKzMxMyw5 IEBAIG1haWwtZmV0Y2gtZmllbGQKIAkJICAoc2V0cSB2YWx1ZSAoY29uY2F0IHZhbHVlCiAJCQkJ ICAgICAgKGlmIChzdHJpbmc9IHZhbHVlICIiKSAiIiAiLCAiKQogCQkJCSAgICAgIChidWZmZXIt c3Vic3RyaW5nLW5vLXByb3BlcnRpZXMKLQkJCQkgICAgICAgb3BvaW50IChwb2ludCkpKSkpKSkK KwkJCQkgICAgICAgb3BvaW50IChwb2ludCkpKSkpCisgICAgICAgICAgICAgICAgKGlmIGRlbGV0 ZQorICAgICAgICAgICAgICAgICAgICAoZGVsZXRlLXJlZ2lvbiAocG9pbnQtYXQtYm9sKSAocG9p bnQpKSkpKQogCSAgICAoaWYgbGlzdAogCQl2YWx1ZQogCSAgICAgIChhbmQgKG5vdCAoc3RyaW5n PSB2YWx1ZSAiIikpIHZhbHVlKSkpCkBAIC0zMjQsNyArMzI4LDEwIEBAIG1haWwtZmV0Y2gtZmll bGQKIAkJOzsgQmFjayB1cCBvdmVyIG5ld2xpbmUsIHRoZW4gdHJhaWxpbmcgc3BhY2VzIG9yIHRh YnMKIAkJKGZvcndhcmQtY2hhciAtMSkKIAkJKHNraXAtY2hhcnMtYmFja3dhcmQgIiBcdCIgb3Bv aW50KQotCQkoYnVmZmVyLXN1YnN0cmluZy1uby1wcm9wZXJ0aWVzIG9wb2ludCAocG9pbnQpKSkp KSkpKSkKKyAgICAgICAgICAgICAgICAocHJvZzEKKyAgICAgICAgICAgICAgICAgICAgKGJ1ZmZl ci1zdWJzdHJpbmctbm8tcHJvcGVydGllcyBvcG9pbnQgKHBvaW50KSkKKyAgICAgICAgICAgICAg ICAgIChpZiBkZWxldGUKKyAgICAgICAgICAgICAgICAgICAgICAoZGVsZXRlLXJlZ2lvbiAocG9p bnQtYXQtYm9sKSAoMSsgKHBvaW50KSkpKSkpKSkpKSkpCiAMCiA7OyBQYXJzZSBhIGxpc3Qgb2Yg dG9rZW5zIHNlcGFyYXRlZCBieSBjb21tYXMuCiA7OyBJdCBydW5zIGZyb20gcG9pbnQgdG8gdGhl IGVuZCBvZiB0aGUgdmlzaWJsZSBwYXJ0IG9mIHRoZSBidWZmZXIuCmRpZmYgLS1naXQgYS9saXNw L3VybC91cmwtaHR0cC5lbCBiL2xpc3AvdXJsL3VybC1odHRwLmVsCmluZGV4IDUyNzc2MDExOGQu LjQxYmFkOWRiYTAgMTAwNjQ0Ci0tLSBhL2xpc3AvdXJsL3VybC1odHRwLmVsCisrKyBiL2xpc3Av dXJsL3VybC1odHRwLmVsCkBAIC05NTEsNyArOTUxLDcgQEAgdXJsLWh0dHAtcGFyc2UtaGVhZGVy cwogICAgICAgICAgICAgICAgICAgKHN0YXJ0IGVuZCAmb3B0aW9uYWwgYWxsb3ctcGFydGlhbCkp CiAKIChkZWZ1biB1cmwtaGFuZGxlLWNvbnRlbnQtdHJhbnNmZXItZW5jb2RpbmcgKCkKLSAgKGxl dCAoKGVuY29kaW5nIChtYWlsLWZldGNoLWZpZWxkICJjb250ZW50LWVuY29kaW5nIikpKQorICAo bGV0ICgoZW5jb2RpbmcgKG1haWwtZmV0Y2gtZmllbGQgImNvbnRlbnQtZW5jb2RpbmciIG5pbCBu aWwgbmlsIHQpKSkKICAgICAod2hlbiAoYW5kIGVuY29kaW5nCiAJICAgICAgIChmYm91bmRwICd6 bGliLWF2YWlsYWJsZS1wKQogCSAgICAgICAoemxpYi1hdmFpbGFibGUtcCkKLS0gCjIuMjIuMAoK --0000000000004d9899058e820e34--