From: Arnaud Charlet Date: Wed, 18 Dec 2019 07:16:17 +0000 (+0000) Subject: [Ada] Fix uninitialized out parameter in s-regpat.adb X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=c7e3d0694bc09e8099542840f1a1f647c23a7222;p=gcc.git [Ada] Fix uninitialized out parameter in s-regpat.adb 2019-12-18 Arnaud Charlet gcc/ada/ * libgnat/s-regpat.adb (Parse_Literal, Parse_Piece): Ensure Expr_Flags is always fully initialized. From-SVN: r279517 --- diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 7573752b21a..465f5a9e8fa 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,8 @@ +2019-12-18 Arnaud Charlet + + * libgnat/s-regpat.adb (Parse_Literal, Parse_Piece): Ensure + Expr_Flags is always fully initialized. + 2019-12-18 Arnaud Charlet * libgnat/s-atopar.ads, libgnat/s-atopex.ads (Atomic_Type): Can diff --git a/gcc/ada/libgnat/s-regpat.adb b/gcc/ada/libgnat/s-regpat.adb index d7f59c7e998..ae69f478279 100644 --- a/gcc/ada/libgnat/s-regpat.adb +++ b/gcc/ada/libgnat/s-regpat.adb @@ -1558,7 +1558,8 @@ package body System.Regpat is Has_Special_Operator : Boolean := False; begin - Parse_Pos := Parse_Pos - 1; -- Look at current character + Expr_Flags := Worst_Expression; -- Ensure Expr_Flags is initialized + Parse_Pos := Parse_Pos - 1; -- Look at current character IP := Emit_Node @@ -1684,11 +1685,8 @@ package body System.Regpat is begin Parse_Atom (New_Flags, IP); - if IP = 0 then - return; - end if; - - if Parse_Pos > Parse_End + if IP = 0 + or else Parse_Pos > Parse_End or else not Is_Mult (Parse_Pos) then Expr_Flags := New_Flags;