diff --git a/C/scanner.c b/C/scanner.c index 412faed56..cb7efeb40 100755 --- a/C/scanner.c +++ b/C/scanner.c @@ -855,6 +855,15 @@ Yap_tokenizer(IOSTREAM *inp_stream, Term *tposp) while (chtype(ch) == BS) { ch = getchr(inp_stream); } + if (ASP-H < 1024) { + Yap_ErrorMessage = "Stack Overflow"; + Yap_Error_TYPE = OUT_OF_STACK_ERROR; + Yap_Error_Size = 0L; + if (p) + p->Tok = Ord(kind = eot_tok); + /* serious error now */ + return l; + } *tposp = Yap_StreamPosition(inp_stream); } goto restart; @@ -1162,6 +1171,15 @@ Yap_tokenizer(IOSTREAM *inp_stream, Term *tposp) while (chtype(ch) == BS) { ch = getchr(inp_stream); } + if (ASP-H < 1024) { + Yap_ErrorMessage = "Stack Overflow"; + Yap_Error_TYPE = OUT_OF_STACK_ERROR; + Yap_Error_Size = 0L; + if (p) + p->Tok = Ord(kind = eot_tok); + /* serious error now */ + return l; + } *tposp = Yap_StreamPosition(inp_stream); } goto restart;