From e3c3b27d33eb0b092378c0a6a4f13cb0515ac3b4 Mon Sep 17 00:00:00 2001 From: Guido van Rossum Date: Mon, 2 Oct 2000 10:21:59 +0000 Subject: [PATCH] Fix a bug in stack overflow error handling. This fixes half of Bug #115555. The error from s_push() on stack overflow was -1, which was passed through unchanged by push(), but not tested for by push()'s caller -- which only expected positive error codes. Fixed by changing s_push() to return E_NOMEM on stack overflow. (Not quite the proper error code either, but I can't be bothered adding a new E_STACKOVERFLOW error code in all the right places.) --- Parser/parser.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Parser/parser.c b/Parser/parser.c index d379f604b73..6eaa925ef3c 100644 --- a/Parser/parser.c +++ b/Parser/parser.c @@ -40,7 +40,7 @@ s_push(register stack *s, dfa *d, node *parent) register stackentry *top; if (s->s_top == s->s_base) { fprintf(stderr, "s_push: parser stack overflow\n"); - return -1; + return E_NOMEM; } top = --s->s_top; top->s_dfa = d;