From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mout.gmx.net (mout.gmx.net [212.227.15.18]) by sourceware.org (Postfix) with ESMTPS id A487C3857C45; Fri, 24 Feb 2023 20:38:26 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org A487C3857C45 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmx.de Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmx.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.de; s=s31663417; t=1677271105; i=anlauf@gmx.de; bh=ihkdNokSqqI7RkRHj+kBvPQvlvkhtFA/dyx77RCroBM=; h=X-UI-Sender-Class:From:To:Subject:Date; b=d5SX9j2QxBkNCfKnEh/ncWINXUFvEobq8Yl+xzkWlpgrmxoIm+IEqWjxfuDY/A4C6 R/LhoBhh9Uw//v6sla/06qjPJcRiEIgd5cCi4uLTmXncVCZVdgcnw1cANzsZnI+JXS bIktrmEDG5PNWS9Ecxdjn0ZBqVFy2qES+DYRn0lxRL+YDxtVNCEIrZbpEtBvN70Uc9 BKp9K5iNthWh1xQmJUf1hRvw2sWYPCwWAT+JKlh17+EzLGuPnmu7sCKddSuI4tiIcq 7fE4K3qx1Sgc3HLU7YGLsLbdKEKtX4ZPXPYHSq5KFvlJVQnTfzM35R2m5Gdkv3oYRj 2s2e3MI1jESww== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from [93.207.80.111] ([93.207.80.111]) by web-mail.gmx.net (3c-app-gmx-bs39.server.lan [172.19.170.91]) (via HTTP); Fri, 24 Feb 2023 21:38:25 +0100 MIME-Version: 1.0 Message-ID: From: Harald Anlauf To: fortran , gcc-patches Subject: [PATCH, committed] Fortran: frontend passes do_subscript leaks gmp memory [PR108924] Content-Type: multipart/mixed; boundary=sgnirk-4b3f2386-e750-43ff-9965-15c2231b8da9 Date: Fri, 24 Feb 2023 21:38:25 +0100 Importance: normal Sensitivity: Normal X-Priority: 3 X-Provags-ID: V03:K1:cJRSemLxQvJgl38MB//c4GxUzENCLr/BcjdhmoONDzDJ9546SZT0wACXIo4RmWBWTiA5Q FCSdi13Uc11IiDTx1oE0anveVIJeE9XdUnH4oqPbKgEeYo9kW+YsAmSBlHVLhD/THjHPz2IuH1HB W4mmATjF4nuQNYRe+1yP5str9DBWz0I8OkqsBThdsLg1QG/53KJW+mWApVEx0kQm/JGszUGMFr24 XsyzxPFVaOTfEXoqpy6xsT/juAjmGLVPeBpWOechywq20y0A9gT7wLeNvA+2NxXWkQ9hL5r5oHg+ Ls= UI-OutboundReport: notjunk:1;M01:P0:R+vl3+ZDcd0=;26Ef0hMkIpkPSurkhL4PhiRtM27 yGPqNlQiJNxJfzeqkrmSrquHdQaJh08zXtTQegH0lNpd/7TYijViQdPQ4bpGGKbV1JhTXuI1u ZKtzrOsMfyaAFkYpm+eaZbSexprUuX6EheDzOuv8IuZ997EQ+XMUpw8CkKhBCXpjtpWuyX510 keMzlFUjksYIkIAj2g5tGctJ44YvBvdiXjdh7Lx0SrKs9EEmbnLP8u2ZxjFhJ8aGByTwB8Rw3 zWqOC7wLmnr1F8vrDxAbNOM6HY7Rv5QpbGbKflUUOag6j0Lfl0qmB23+dNWzjmBnik31fEb+X ECV9XDlM88XBNHuOC4gWD3KgKJNrAWzRDuHo1dQr+aAIT+Vv71SAorg/T4gSg723ff/kJpsx3 ys9ElFF94nSLPCq4szgr6ncc6Hd8f0VgTvJqOjK9rDUTTCuQz4540DaaVLXfVYptikfCgX4Tp pbWyDJrprjn9Xqkn3ZxZV3MELsL6io0j5zEXehoUkiNNDruM0m72+C2preIz+SwGVROKdzAzO NN4msyPNmyCwwCIOtDCTmmrr78tX20YjAZn/ndKpIn6uA8zBfP3y48Zfu1HonbNltaZQxyG+L YmMo+5M+Lin1297vXnEHeFBoBDJnT4VWBK/bgMINXiNvfGTmK+hmmfa8g8r8hLf12Dg26E/HX l6h532J1E6mTLkJjW1epeNXRrNG+ekwhKaeoQd9ubH/uSri7BwKc5QGLamYBkZ9LCzyKv2+fx bcmixqGjT1FXHEOhPgAyCj1CTZPNJWRp1FWjglBjsETICp71+0Xj9+XlRbKQgl46gq0NIsSkA YxJOR+43QLjT4wJJyUpUdGrQ== X-Spam-Status: No, score=-11.0 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,GIT_PATCH_0,RCVD_IN_BARRACUDACENTRAL,RCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: --sgnirk-4b3f2386-e750-43ff-9965-15c2231b8da9 Content-Type: text/plain; charset=UTF-8 Dear all, as reported by Richard - although without a testcase - we leak gmp memory in do_subscript(). The attached patch was derived by inspection of the code pointed at by valgrind and regtested on x86_64-pc-linux-gnu. Committed as obvious as commit r13-6336-g45f406c4f62e516b58dcda20b5a7aa43ff0aa0f3 Author: Harald Anlauf Date: Fri Feb 24 19:56:32 2023 +0100 Thanks, Harald --sgnirk-4b3f2386-e750-43ff-9965-15c2231b8da9 Content-Type: text/x-patch Content-Disposition: attachment; filename=pr108924.diff Content-Transfer-Encoding: quoted-printable =46rom 45f406c4f62e516b58dcda20b5a7aa43ff0aa0f3 Mon Sep 17 00:00:00 2001 From: Harald Anlauf Date: Fri, 24 Feb 2023 19:56:32 +0100 Subject: [PATCH] Fortran: frontend passes do_subscript leaks gmp memory [PR108924] gcc/fortran/ChangeLog: PR fortran/108924 * frontend-passes.cc (do_subscript): Clear used gmp variable. =2D-- gcc/fortran/frontend-passes.cc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gcc/fortran/frontend-passes.cc b/gcc/fortran/frontend-passes.= cc index 02fcb41dbc4..90428982023 100644 =2D-- a/gcc/fortran/frontend-passes.cc +++ b/gcc/fortran/frontend-passes.cc @@ -2883,7 +2883,10 @@ do_subscript (gfc_expr **e) have_do_end =3D false; if (!have_do_start && !have_do_end) - return 0; + { + mpz_clear (do_step); + return 0; + } /* No warning inside a zero-trip loop. */ if (have_do_start && have_do_end) =2D- 2.35.3 --sgnirk-4b3f2386-e750-43ff-9965-15c2231b8da9--