From cc0476041f9d879adf8a0af9813c3193fc495c96 Mon Sep 17 00:00:00 2001 From: Daniel Kolesa Date: Sun, 4 Oct 2015 14:52:36 +0100 Subject: [PATCH] eolian: fix out-of-bounds indexing on tokens Fixes CID 1324818 @fix --- src/lib/eolian/eo_lexer.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/lib/eolian/eo_lexer.c b/src/lib/eolian/eo_lexer.c index bd78958..d14c70f 100644 --- a/src/lib/eolian/eo_lexer.c +++ b/src/lib/eolian/eo_lexer.c @@ -1148,8 +1148,9 @@ eo_lexer_token_to_str(int token, char *buf) { const char *v; size_t idx = token - START_CUSTOM; - if (idx >= sizeof(tokens)) - v = keywords[idx - sizeof(tokens)]; + size_t tsz = sizeof(tokens) / sizeof(tokens[0]); + if (idx >= tsz) + v = keywords[idx - tsz]; else v = tokens[idx]; memcpy(buf, v, strlen(v) + 1); -- 2.7.4