From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 6604C3851C28; Thu, 4 Jun 2020 20:55:11 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 6604C3851C28 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1591304111; bh=RT+1tq1U3uUm981igyHwvsC9z1gpyiHbufiX5ZYsIs8=; h=From:To:Subject:Date:In-Reply-To:References:From; b=LtI/OkNYyNHH4mnnuOw0WxU9JiKNp4T6hoTuVf2bOwFDlzLVxsRkMvKhALdmnULtm wgKN6sTLH2x1gTB8FoHpfu0nn0lNZLp55bKzbwCf59ZKEnzdWxvXlU0Uvu3ChWYGib JRrElenddUnoUhh6nSwIhpxYAfV+R0ykYjIBsJpc= From: "anlauf at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug fortran/95537] [11 regression] gfortran.dg/pr95090.f90 since r11-670 Date: Thu, 04 Jun 2020 20:55:11 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: fortran X-Bugzilla-Version: 11.0 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: anlauf at gcc dot gnu.org X-Bugzilla-Status: NEW X-Bugzilla-Resolution: X-Bugzilla-Priority: P4 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: everconfirmed bug_status priority cf_reconfirmed_on Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: gcc-bugs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-bugs mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 04 Jun 2020 20:55:11 -0000 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D95537 anlauf at gcc dot gnu.org changed: What |Removed |Added ---------------------------------------------------------------------------- Ever confirmed|0 |1 Status|UNCONFIRMED |NEW Priority|P3 |P4 Last reconfirmed| |2020-06-04 --- Comment #4 from anlauf at gcc dot gnu.org --- Thanks for the backtrace. Can you please try the following patch? diff --git a/gcc/fortran/decl.c b/gcc/fortran/decl.c index 3ad5559c3ec..1c1626d3fa4 100644 --- a/gcc/fortran/decl.c +++ b/gcc/fortran/decl.c @@ -4094,7 +4094,8 @@ match_byte_typespec (gfc_typespec *ts) match gfc_match_decl_type_spec (gfc_typespec *ts, int implicit_flag) { - char name[GFC_MAX_SYMBOL_LEN + 1]; + /* Provide sufficient space to hold "pdtsymbol". */ + char name[GFC_MAX_SYMBOL_LEN + 1 + 3]; gfc_symbol *sym, *dt_sym; match m; char c; @@ -4284,7 +4285,11 @@ gfc_match_decl_type_spec (gfc_typespec *ts, int implicit_flag) return m; gcc_assert (!sym->attr.pdt_template && sym->attr.pdt_type); ts->u.derived =3D sym; - strcpy (name, gfc_dt_lower_string (sym->name)); + const char* lower =3D gfc_dt_lower_string (sym->name); + size_t len =3D strnlen (lower, sizeof (name)); + gcc_assert (len < sizeof (name)); + memcpy (name, lower, len); + name[len] =3D '\0'; } if (sym && sym->attr.flavor =3D=3D FL_STRUCT)=