From patchwork Fri Mar 28 19:07:00 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Mikael Morin X-Patchwork-Id: 334864 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 0088B140088 for ; Sat, 29 Mar 2014 06:07:28 +1100 (EST) DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender :message-id:date:from:mime-version:to:subject:content-type; q= dns; s=default; b=B4Gn5TTJWCBx6lb5Xft+k1/D8+55T/2tN6uwhloYIz+00b JyGBYgGPg6ZpxpblxmhaRbGwYppcD9m20y06g4OdDni11en/+WoTvW9O68XJyXC1 XUHgQmgvTA4WsLOq0KuiUCIFaH8NB03TR+UcPiY/u+9BlLaa+RlM3RSi8FNJs= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender :message-id:date:from:mime-version:to:subject:content-type; s= default; bh=5ZlQly9Y++OxdP+cbYEHRQzffnw=; b=eF+b339BwK1A8yHB5r6D xdzRMUP1BG8H2yyuclPCn4B80b894DenYKSTk7nDDzmurd/0xmwLsNq4iv13X9LU 5siGUdH91QX7zPMi0G1KnMDx1M/LJuH1DLEUTyZr1IdP5+ynXgrmPi6jXJZPQlKs kfpOPsfqtt1nqX+YTmNyU74= Received: (qmail 17406 invoked by alias); 28 Mar 2014 19:07:20 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org Received: (qmail 17387 invoked by uid 89); 28 Mar 2014 19:07:20 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.8 required=5.0 tests=AWL, BAYES_00, RCVD_IN_DNSWL_NONE, RCVD_IN_JMF_BR, RP_MATCHES_RCVD, SPF_PASS autolearn=no version=3.3.2 X-Spam-User: qpsmtpd, 2 recipients X-HELO: smtp23.services.sfr.fr Received: from smtp23.services.sfr.fr (HELO smtp23.services.sfr.fr) (93.17.128.21) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 28 Mar 2014 19:07:17 +0000 Received: from filter.sfr.fr (localhost [82.66.46.21]) by msfrf2311.sfr.fr (SMTP Server) with ESMTP id 28F63700077A; Fri, 28 Mar 2014 20:07:15 +0100 (CET) Received: from [192.168.0.16] (did75-4-82-66-46-21.fbx.proxad.net [82.66.46.21]) by msfrf2311.sfr.fr (SMTP Server) with ESMTP id D07D5700009E; Fri, 28 Mar 2014 20:07:14 +0100 (CET) X-SFR-UUID: 20140328190714854.D07D5700009E@msfrf2311.sfr.fr Message-ID: <5335C854.4040709@sfr.fr> Date: Fri, 28 Mar 2014 20:07:00 +0100 From: Mikael Morin User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.3.0 MIME-Version: 1.0 To: gcc-patches , gfortran Subject: [committed, fortran] PR 60766 fix buffer overflow X-IsSubscribed: yes Hello, I fixed an ICE in pr59599 due to a wrong number of arguments passed to the ichar function, but I forgot to update the size of the buffer containing the argument list. Fixed thusly. I have tested the patch (attached) on x86_64-unknown-linux-gnu and committed it as revision 208913. Thanks to Tobias for identifying the problem. Mikael Index: ChangeLog =================================================================== --- ChangeLog (révision 208912) +++ ChangeLog (révision 208913) @@ -1,5 +1,11 @@ -2014-04-27 Thomas Koenig +2014-03-28 Mikael Morin + PR fortran/60677 + * trans-intrinsic.c (gfc_conv_intrinsic_ichar): Enlarge argument + list buffer. + +2014-03-27 Thomas Koenig + PR fortran/60522 * frontend-passes.c (cfe_code): Do not walk subtrees for WHERE. Index: trans-intrinsic.c =================================================================== --- trans-intrinsic.c (révision 208912) +++ trans-intrinsic.c (révision 208913) @@ -4687,7 +4687,7 @@ gfc_conv_intrinsic_index_scan_verify (gfc_se * se, static void gfc_conv_intrinsic_ichar (gfc_se * se, gfc_expr * expr) { - tree args[2], type, pchartype; + tree args[3], type, pchartype; int nargs; nargs = gfc_intrinsic_argument_list_length (expr);