From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 26942 invoked by alias); 5 Dec 2001 20:05:38 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 26876 invoked from network); 5 Dec 2001 20:05:33 -0000 Received: from unknown (HELO cygnus.com) (205.180.230.5) by sources.redhat.com with SMTP; 5 Dec 2001 20:05:33 -0000 Received: from cygnus.com (reddwarf.cygnus.com [205.180.231.12]) by runyon.cygnus.com (8.8.7-cygnus/8.8.7) with ESMTP id MAA07113; Wed, 5 Dec 2001 12:04:55 -0800 (PST) Message-ID: <3C0E7D52.23717736@cygnus.com> Date: Wed, 05 Dec 2001 12:05:00 -0000 From: Michael Snyder Organization: Red Hat, Inc. X-Mailer: Mozilla 4.76 [en] (X11; U; Linux 2.4.2-2smp i686) X-Accept-Language: en MIME-Version: 1.0 To: Elena Zannoni CC: gdb-patches@sources.redhat.com Subject: Re: [PATCH] symtab.c: make sure alloca is big enough References: <200112031928.fB3JSql03665@reddwarf.cygnus.com> <15374.9943.330817.609015@krustylu.cygnus.com> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-SW-Source: 2001-12/txt/msg00145.txt.bz2 Elena Zannoni wrote: > > Michael Snyder writes: > > 2001-12-03 Michael Snyder > > > > * 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; > > }