From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.ciao.gmane.io!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.bugs Subject: bug#42113: 28.0.50; Segmentation fault in json-parse-file Date: Mon, 29 Jun 2020 17:56:26 +0300 Message-ID: <83k0zp2a5h.fsf@gnu.org> References: <5ef91115.1c69fb81.aa1e3.9577@mx.google.com> <5613F080-14DE-4562-BDA1-FD439C9FBF5D@gnu.org> Injection-Info: ciao.gmane.io; posting-host="ciao.gmane.io:159.69.161.202"; logging-data="3033"; mail-complaints-to="usenet@ciao.gmane.io" Cc: egh@e6h.org, 42113@debbugs.gnu.org To: Philipp Stephani Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Mon Jun 29 16:57:09 2020 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1jpvDZ-0000df-An for geb-bug-gnu-emacs@m.gmane-mx.org; Mon, 29 Jun 2020 16:57:09 +0200 Original-Received: from localhost ([::1]:45956 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jpvDX-0005Y1-VF for geb-bug-gnu-emacs@m.gmane-mx.org; Mon, 29 Jun 2020 10:57:07 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:53254) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jpvDS-0005Xj-Fp for bug-gnu-emacs@gnu.org; Mon, 29 Jun 2020 10:57:02 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:37528) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jpvDS-0003zJ-7M for bug-gnu-emacs@gnu.org; Mon, 29 Jun 2020 10:57:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1jpvDS-0006ib-5b for bug-gnu-emacs@gnu.org; Mon, 29 Jun 2020 10:57:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 29 Jun 2020 14:57:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 42113 X-GNU-PR-Package: emacs Original-Received: via spool by 42113-submit@debbugs.gnu.org id=B42113.159344260525791 (code B ref 42113); Mon, 29 Jun 2020 14:57:02 +0000 Original-Received: (at 42113) by debbugs.gnu.org; 29 Jun 2020 14:56:45 +0000 Original-Received: from localhost ([127.0.0.1]:49074 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jpvDA-0006hv-JB for submit@debbugs.gnu.org; Mon, 29 Jun 2020 10:56:44 -0400 Original-Received: from eggs.gnu.org ([209.51.188.92]:38762) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jpvD9-0006hf-9W for 42113@debbugs.gnu.org; Mon, 29 Jun 2020 10:56:43 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]:60882) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jpvD3-0003wH-Nw; Mon, 29 Jun 2020 10:56:37 -0400 Original-Received: from [176.228.60.248] (port=1040 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1jpvD1-000274-Ij; Mon, 29 Jun 2020 10:56:36 -0400 In-Reply-To: (message from Philipp Stephani on Mon, 29 Jun 2020 12:07:33 +0200) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list 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-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:182531 Archived-At: > From: Philipp Stephani > Date: Mon, 29 Jun 2020 12:07:33 +0200 > Cc: bug-gnu-emacs@gnu.org, Erik Hetzner , 42113@debbugs.gnu.org > > > > The JSON functions are missing CHECK_STRING in several places where > > > json_encode is called. > > > > In this specific case I think the test is there, but it is done a bit too late. The call to check_string_without_embedded_nuls should be moved before json_encode. > > Is that always guaranteed to be correct though? Is there a guarantee > that encoding can never produce null bytes that weren't already > present in the input? It is true that you could in principle write a coding-system that would produce null bytes (although it wouldn't be very useful). But in this case we are not talking about any arbitrary coding-system, we are talking specifically about UTF-8.