summaryrefslogtreecommitdiffhomepage
path: root/mrbgems/mruby-compiler/core/parse.y
diff options
context:
space:
mode:
Diffstat (limited to 'mrbgems/mruby-compiler/core/parse.y')
-rw-r--r--mrbgems/mruby-compiler/core/parse.y7
1 files changed, 5 insertions, 2 deletions
diff --git a/mrbgems/mruby-compiler/core/parse.y b/mrbgems/mruby-compiler/core/parse.y
index f6a43d32b..26062967d 100644
--- a/mrbgems/mruby-compiler/core/parse.y
+++ b/mrbgems/mruby-compiler/core/parse.y
@@ -3604,10 +3604,13 @@ toklast(parser_state *p)
static void
tokfix(parser_state *p)
{
- if (p->bidx >= MRB_PARSER_BUF_SIZE) {
+ int i = p->bidx, imax = MRB_PARSER_BUF_SIZE - 1;
+
+ if (i > imax) {
+ i = imax;
yyerror(p, "string too long (truncated)");
}
- p->buf[p->bidx] = '\0';
+ p->buf[i] = '\0';
}
static const char*