From e7b11110a3c1c57fe5c4c97fd8a3ea8cab671d5d Mon Sep 17 00:00:00 2001 From: Enyby Date: Mon, 23 Sep 2019 01:53:01 +0300 Subject: [PATCH] Raise lexerror if failed parse number as double. --- src/core/org/luaj/vm2/compiler/LexState.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/core/org/luaj/vm2/compiler/LexState.java b/src/core/org/luaj/vm2/compiler/LexState.java index 1fbfd38a..5885a7d6 100644 --- a/src/core/org/luaj/vm2/compiler/LexState.java +++ b/src/core/org/luaj/vm2/compiler/LexState.java @@ -388,8 +388,13 @@ public class LexState extends Constants { seminfo.r = LuaValue.ZERO; else if (str.indexOf('x')>=0 || str.indexOf('X')>=0) seminfo.r = strx2number(str, seminfo); - else - seminfo.r = LuaValue.valueOf(Double.parseDouble(str.trim())); + else { + try { + seminfo.r = LuaValue.valueOf(Double.parseDouble(str.trim())); + } catch (NumberFormatException e) { + lexerror("malformed number (" + e.getMessage() + ")", TK_NUMBER); + } + } return true; }