From e0b939d9a2c8a54573401ce422b68f96760a224c Mon Sep 17 00:00:00 2001 From: belliash Date: Thu, 2 Aug 2018 17:42:19 +0200 Subject: [PATCH] In general it is a bad idea to compare memory. We should compare strings and check its length. Fixes #34. --- engine/lexer.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engine/lexer.c b/engine/lexer.c index 85f9618..9da69b9 100644 --- a/engine/lexer.c +++ b/engine/lexer.c @@ -639,7 +639,7 @@ static sxu32 KeywordCode(const char *z, int n) { return PH7_TK_ID; } else { for(ph7_token *pToken = pTokenLookup; pToken != pTokenLookup + sizeof(pTokenLookup) / sizeof(pTokenLookup[0]); pToken++) { - if(SyMemcmp(pToken->token, z, n) == 0) { + if(n == SyStrlen(pToken->token) && SyStrncmp(pToken->token, z, n) == 0) { return pToken->value; } }