This is the mail archive of the gdb-patches@sources.redhat.com 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]

Re: [RFA] varobj.c: check wrapper return value


Keith Seitz wrote:
> 
> Hi,
> 
> Varobj has an unchecked return value from "gdb_value_ind" which can cause
> a segv from an invalid struct value.
> 
> I presume that this should also go into 5.1 if it is not too late. (For
> that matter, so should the other changes to varobj.c -- all of which
> prevent segvs from happening. My bad.)
> 
> Keith
> 

Thanks.  Please check it in the trunk.

I can't tell about 5.1.  Andrew?

Fernando


> ChangeLog
> 2001-10-10  Keith Seitz  <keiths@redhat.com>
> 
>         * varobj.c (cplus_value_of_child): Deal with a failure
>         to dereference a pointer object.
> 
> Patch
> Index: varobj.c
> ===================================================================
> RCS file: /cvs/src/src/gdb/varobj.c,v
> retrieving revision 1.20
> diff -u -p -r1.20 varobj.c
> --- varobj.c    2001/08/17 18:56:49     1.20
> +++ varobj.c    2001/10/10 15:59:38
> @@ -2313,7 +2313,10 @@ cplus_value_of_child (struct varobj *par
> 
>               if (TYPE_CODE (VALUE_TYPE (parent->value)) == TYPE_CODE_PTR
>                   || TYPE_CODE (VALUE_TYPE (parent->value)) == TYPE_CODE_REF)
> -               gdb_value_ind (parent->value, &temp);
> +               {
> +                 if (!gdb_value_ind (parent->value, &temp))
> +                   return NULL;
> +               }
>               else
>                 temp = parent->value;

-- 
Fernando Nasser
Red Hat Canada Ltd.                     E-Mail:  fnasser@redhat.com
2323 Yonge Street, Suite #300
Toronto, Ontario   M4P 2C9


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