From 2cfd6260745f42b003f47c374283406db0a8ecb1 Mon Sep 17 00:00:00 2001 From: ryne3366 Date: Sat, 24 May 2025 10:02:34 +0800 Subject: [PATCH] =?UTF-8?q?[SQLite=E4=BF=AE=E5=A4=8D]Avoid=20a=20potential?= =?UTF-8?q?=20integer=20overflow=20in=20non-default=20builds=20of=20the=20?= =?UTF-8?q?fts3=20matchinfo()=20function=20ref:https://sqlite.org/src/info?= =?UTF-8?q?/aecc0100cef3ea83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: ryne3366 --- src/sqlite3.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/sqlite3.c b/src/sqlite3.c index 7fb290f..3b9bf67 100644 --- a/src/sqlite3.c +++ b/src/sqlite3.c @@ -201316,16 +201316,16 @@ static size_t fts3MatchinfoSize(MatchInfo *pInfo, char cArg){ break; case FTS3_MATCHINFO_LHITS: - nVal = pInfo->nCol * pInfo->nPhrase; + nVal = (size_t)pInfo->nCol * pInfo->nPhrase; break; case FTS3_MATCHINFO_LHITS_BM: - nVal = pInfo->nPhrase * ((pInfo->nCol + 31) / 32); + nVal = (size_t)pInfo->nPhrase * ((pInfo->nCol + 31) / 32); break; default: assert( cArg==FTS3_MATCHINFO_HITS ); - nVal = pInfo->nCol * pInfo->nPhrase * 3; + nVal = (size_t)pInfo->nCol * pInfo->nPhrase * 3; break; } -- Gitee