I wonder if we should do something about these kind of functions:
Theres the definition "MAX_FUNCTION_DEPTH 512" in defaults.h that
prevents functions from nesting infinitely deep:

  addtofunc foo i foo

=> ok

But this is not good:

  addtofunc foo
  + i foo
  + i foo
  h hangs:

Although functions above the maximum depth abort, it still
executes about 2^512 leaf functions before finally exiting, i.e.
it never completes.

I could add an execution counter that limits the total number of
command lines that can be executed from a single top level
function call; maybe limit that to 1000.


Another problem:  It's possible to add items to functions that are
currently in use.

  addtofunc foo i bar
  addtofunc bar i addtofunc foo i bar
  # hangs:

Not sure if we should just forbid to add items to running


Dominik ^_^  ^_^


Dominik Vogt

Reply via email to