From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 7545C3858D39; Tue, 18 Jan 2022 22:06:54 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 7545C3858D39 From: "msebor at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug middle-end/104069] -Werror=use-after-free false positive on elfutils-0.186 Date: Tue, 18 Jan 2022 22:06:54 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: middle-end X-Bugzilla-Version: 12.0 X-Bugzilla-Keywords: diagnostic X-Bugzilla-Severity: normal X-Bugzilla-Who: msebor at gcc dot gnu.org X-Bugzilla-Status: ASSIGNED X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: msebor at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: component 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: Tue, 18 Jan 2022 22:06:54 -0000 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D104069 Martin Sebor changed: What |Removed |Added ---------------------------------------------------------------------------- Component|tree-optimization |middle-end --- Comment #7 from Martin Sebor --- The debug_ranger() output is below for reference: =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D BB 2 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Imports: ret_13=20=20 Exports: ret_13=20=20 size_9(D) int VARYING : _1 =3D (long unsigned int) size_9(D); ret_13 =3D __builtin_realloc (ptr_11(D), _1); if (ret_13 =3D=3D 0B) goto ; [INV] else goto ; [INV] _1 : long unsigned int [0, 2147483647][18446744071562067968, +INF] 2->3 (T) ret_13 : void * [0B, 0B] 2->5 (F) ret_13 : void * [1B, +INF] =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D BB 3 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Imports: size_9(D)=20=20 Exports: size_9(D)=20=20 size_9(D) int VARYING ret_13 void * [0B, 0B] : if (size_9(D) =3D=3D 0) goto ; [INV] else goto ; [INV] 3->4 (T) size_9(D) : int [0, 0] 3->5 (F) size_9(D) : int [-INF, -1][1, +INF] =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D BB 4 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D : ret_15 =3D __builtin_realloc (ptr_11(D), 1); =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D BB 5 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Imports: ret_3=20=20 Exports: ret_3=20=20 : # ret_3 =3D PHI if (ret_3 =3D=3D 0B) goto ; [INV] else goto ; [INV] 5->6 (T) ret_3 : void * [0B, 0B] 5->11 (F) ret_3 : void * [1B, +INF] =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D BB 6 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Imports: ret_17=20=20 Exports: ret_17=20=20 size_9(D) int VARYING : _2 =3D (long unsigned int) size_9(D); ret_17 =3D __builtin_realloc (ptr_11(D), _2); if (ret_17 =3D=3D 0B) goto ; [INV] else goto ; [INV] _2 : long unsigned int [0, 2147483647][18446744071562067968, +INF] 6->7 (T) ret_17 : void * [0B, 0B] 6->9 (F) ret_17 : void * [1B, +INF] =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D BB 7 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Imports: size_9(D)=20=20 Exports: size_9(D)=20=20 size_9(D) int VARYING ret_17 void * [0B, 0B] : if (size_9(D) =3D=3D 0) goto ; [INV] else goto ; [INV] 7->8 (T) size_9(D) : int [0, 0] 7->9 (F) size_9(D) : int [-INF, -1][1, +INF] =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D BB 8 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D : ret_19 =3D __builtin_realloc (ptr_11(D), 1); =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D BB 9 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Imports: ret_4=20=20 Exports: ret_4=20=20 : # ret_4 =3D PHI if (ret_4 =3D=3D 0B) goto ; [INV] else goto ; [INV] 9->10 (T) ret_4 : void * [0B, 0B] 9->11 (F) ret_4 : void * [1B, +INF] =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D BB 10 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D : __builtin_abort (); =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D BB 11 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Equivalence set : [] Equivalence set : [ret_5, _21] : # ret_5 =3D PHI _21 =3D ret_5; ret_5 : void * [1B, +INF] _21 : void * [1B, +INF] =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D BB 12 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D : : return _21; Non-varying global ranges: =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D: _1 : long unsigned int [0, 2147483647][18446744071562067968, +INF] _2 : long unsigned int [0, 2147483647][18446744071562067968, +INF] ret_5 : void * [1B, +INF] _21 : void * [1B, +INF]=