This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [OB PATCH] Fix uninitialized type_flags variable


On 01/16/2014 02:38 PM, Simon Marchi wrote:
> If uninitialized, type_flags can contain a random value. If the
> arch-specific code doesn't set a value, this give unexpected results.

The whole point of that method is to get that value from the arch-specific
code.  If some arch-specific code is returning true but not setting
type_flags, then that's the bug to fix.  IOW, the method should only return
true if the type_flags was set.  If you're relying on this initialization,
you're papering over an arch-specific bug.

> 
> I believe this is an obvious change. Since I don't have commit access yet,
> could anybody push this?
> 
> gdb/ChangeLog
> 2014-01-16  Simon Marchi  <simon.marchi@ericsson.com>
> 
> 	* gdbtypes.c (address_space_name_to_int): Initialize type_flags to 0.
> 
> diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c
> index 042c17d..7d9485a 100644
> --- a/gdb/gdbtypes.c
> +++ b/gdb/gdbtypes.c
> @@ -531,7 +531,7 @@ lookup_function_type_with_arguments (struct type *type,
>  int
>  address_space_name_to_int (struct gdbarch *gdbarch, char *space_identifier)
>  {
> -  int type_flags;
> +  int type_flags = 0;
> 
>    /* Check for known address space delimiters.  */
>    if (!strcmp (space_identifier, "code"))
> 


-- 
Pedro Alves


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]