From e5ac3591d7fbb8aa21d7029377a19470abfaede7 Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Thu, 12 Dec 2024 11:05:14 +0000 Subject: [Fix] Remove USPOOF_SINGLE_SCRIPT_CONFUSABLE from the checks In fact, it just checks if string1 and string2 intersect or not, and it is definitely not the check we want there. --- src/lua/lua_util.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/lua/lua_util.c b/src/lua/lua_util.c index 14994751c..ce4d9f67c 100644 --- a/src/lua/lua_util.c +++ b/src/lua/lua_util.c @@ -2152,6 +2152,17 @@ lua_util_is_utf_spoofed(lua_State *L) return 1; } + + /* Disable single script confusables, as it is not what we want to check */ + uspoof_setChecks(spc, + USPOOF_CONFUSABLE & ~USPOOF_SINGLE_SCRIPT_CONFUSABLE, + &uc_err); + if (uc_err != U_ZERO_ERROR) { + msg_err("Cannot set proper checks for uspoof: %s", u_errorName(uc_err)); + lua_pushboolean(L, false); + uspoof_close(spc); + return 1; + } } ret = uspoof_areConfusableUTF8(spc, s1, l1, s2, l2, &uc_err); @@ -2174,7 +2185,7 @@ lua_util_is_utf_spoofed(lua_State *L) if (uc_err != U_ZERO_ERROR) { msg_err("Cannot set proper checks for uspoof: %s", u_errorName(uc_err)); lua_pushboolean(L, false); - uspoof_close(spc); + uspoof_close(spc_sgl); return 1; } } -- cgit v1.2.3