[Ada] Bad initialization of dynamic tables in gnatname ... --and ...
Arnaud Charlet
charlet@adacore.com
Fri Jun 18 16:13:00 GMT 2010
Dynamic tables in the implementation of gnatname when switch --and is
used were not properly initialized. This patch ensures that they are.
There is no known simple test for this.
Tested on x86_64-pc-linux-gnu, committed on trunk
2010-06-18 Vincent Celier <celier@adacore.com>
* gnatname.adb (Scan_Args): When --and is used, make sure that the
dynamic tables in the newly allocated Argument_Data are properly
initialized.
-------------- next part --------------
Index: gnatname.adb
===================================================================
--- gnatname.adb (revision 160959)
+++ gnatname.adb (working copy)
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 2001-2009, Free Software Foundation, Inc. --
+-- Copyright (C) 2001-2010, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
@@ -306,7 +306,16 @@ procedure Gnatname is
-- Add and initialize another component to Arguments table
- Arguments.Increment_Last;
+ declare
+ New_Arguments : Argument_Data;
+ pragma Warnings (Off, New_Arguments);
+ -- Declaring this defaulted itialized object ensures that
+ -- the new allocated component of table Arguments is
+ -- correctly initialized.
+
+ begin
+ Arguments.Append (New_Arguments);
+ end;
Patterns.Init
(Arguments.Table (Arguments.Last).Directories);
More information about the Gcc-patches
mailing list