Re: [RFA] Avoid recursivly defined user functions.

Andreas Schwab
2002-04-04T11:17:31Z

Michael Snyder <msnyder@redhat.com> writes:

|> Paul Hilfinger wrote:
|> >
|> > > Executing a recursively defined user function results in a core-dump from
|> > > gdb:
|> >
|> > ...
|> >
|> > > The following patch catches recursive user function definitions and
|> > > disallowes them:
|> >
|> > Is the segmentation fault the result of stack overflow?
|>
|> Yes it is.
|>
|> > If so, I
|> > point out that there is an 'if' statement, so recursive commands are
|> > not necessarily wrong, are they?
|>
|> No they're not. So it's a judgement call. Is it more important
|> to allow recursive macros, or to prevent GDB from dumping core?
|> We're basically running an interpreter here...
|>
|> I guess one thing we could do would be to impose an arbitrary
|> (possibly user-settable) stack depth limit. That's more work,
|> of course...

The simple minded check in Don's patch won't catch many cases of infinite
recursion anyway (mutual recursion, command invocation with arguments).

Andreas.

--
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE GmbH, Deutschherrnstr. 15-19, D-90429 NÃ¼rnberg
Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."