summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Smith <dsmith@redhat.com>2009-12-16 12:05:55 -0600
committerDavid Smith <dsmith@redhat.com>2009-12-16 12:05:55 -0600
commit101a2bb871dfca3a0435b978f0a66506355d6d68 (patch)
tree9d75f2ebcd443716521fb2cd0d99f28ffa0aaa1c
parent5e562a69a5432566c6ae78344ae51b80ced7f15b (diff)
downloadsystemtap-steved-101a2bb871dfca3a0435b978f0a66506355d6d68.tar.gz
systemtap-steved-101a2bb871dfca3a0435b978f0a66506355d6d68.tar.xz
systemtap-steved-101a2bb871dfca3a0435b978f0a66506355d6d68.zip
PR 11097 fixed by correcting MAXNESTING test.
* translate.cxx (emit_function): Fixed MAXNESTING test to not allow too deep recursion.
-rw-r--r--translate.cxx2
1 files changed, 1 insertions, 1 deletions
diff --git a/translate.cxx b/translate.cxx
index e6c8cde9..8c624a2f 100644
--- a/translate.cxx
+++ b/translate.cxx
@@ -1501,7 +1501,7 @@ c_unparser::emit_function (functiondecl* v)
// or 0...N (if we're called from another function). Incoming parameters are already
// stored in c->locals[c->nesting+1]. See also ::emit_common_header() for more.
- o->newline() << "if (unlikely (c->nesting+1 > MAXNESTING)) {";
+ o->newline() << "if (unlikely (c->nesting+1 >= MAXNESTING)) {";
o->newline(1) << "c->last_error = \"MAXNESTING exceeded\";";
o->newline() << "return;";
o->newline(-1) << "} else {";