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]
Other format: [Raw text]

Re: [PATCH] symtab.c: make sure alloca is big enough


Elena Zannoni wrote:
> 
> Michael Snyder writes:
>  > 2001-12-03  Michael Snyder  <msnyder@redhat.com>
>  >
>  >      * symtab.c (search_symbols): Make sure alloca size is big enough.
> 
> Michael,
> have you checked this in? If not please do.
> 
> Where would this problem manifest itself?
> Some testsuite cases?

It probably would not manifest itself at all.  This is a 
paranoia fix, based on feedback from Michael Chastain.
He pointed out that, although the previous allocation size
was probably big enough, it was not provably big enough.
The new size can be easily demonstrated to be big enough
(by inspection, as it were).

 
> Thanks
> Elena
> 
>  >
>  > Index: symtab.c
>  > ===================================================================
>  > RCS file: /cvs/src/src/gdb/symtab.c,v
>  > retrieving revision 1.48
>  > diff -c -3 -p -r1.48 symtab.c
>  > *** symtab.c 2001/11/13 16:42:50     1.48
>  > --- symtab.c 2001/12/03 19:28:26
>  > *************** search_symbols (char *regexp, namespace_
>  > *** 2422,2428 ****
>  >        /* If wrong number of spaces, fix it. */
>  >        if (fix >= 0)
>  >          {
>  > !          char *tmp = (char *) alloca (strlen (regexp) + fix);
>  >            sprintf (tmp, "operator%.*s%s", fix, " ", opname);
>  >            regexp = tmp;
>  >          }
>  > --- 2422,2428 ----
>  >        /* If wrong number of spaces, fix it. */
>  >        if (fix >= 0)
>  >          {
>  > !          char *tmp = (char *) alloca (8 + fix + strlen (opname) + 1);
>  >            sprintf (tmp, "operator%.*s%s", fix, " ", opname);
>  >            regexp = tmp;
>  >          }


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