mirror of
https://git.yoctoproject.org/poky
synced 2026-04-30 03:32:12 +02:00
(From OE-Core rev: 948b0dd6d91eeed529c6983141ab80327fa4ae9c) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
41 lines
1.5 KiB
Diff
41 lines
1.5 KiB
Diff
From fcf06b0b426e6c243d6ca2d6c6a02830717ab6a3 Mon Sep 17 00:00:00 2001
|
|
From: Chen Qi <Qi.Chen@windriver.com>
|
|
Date: Tue, 15 Oct 2019 13:22:52 +0800
|
|
Subject: [PATCH] Fix CVE-2019-16168
|
|
|
|
CVE: CVE-2019-16168
|
|
|
|
Upstream-Status: Backport [https://www.sqlite.org/src/vpatch?from=4f5b2d938194fab7&to=98357d8c1263920b]
|
|
|
|
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
|
|
---
|
|
sqlite3.c | 5 ++++-
|
|
1 file changed, 4 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/sqlite3.c b/sqlite3.c
|
|
index 61bfdeb..b3e6ae2 100644
|
|
--- a/sqlite3.c
|
|
+++ b/sqlite3.c
|
|
@@ -105933,7 +105933,9 @@ static void decodeIntArray(
|
|
if( sqlite3_strglob("unordered*", z)==0 ){
|
|
pIndex->bUnordered = 1;
|
|
}else if( sqlite3_strglob("sz=[0-9]*", z)==0 ){
|
|
- pIndex->szIdxRow = sqlite3LogEst(sqlite3Atoi(z+3));
|
|
+ int sz = sqlite3Atoi(z+3);
|
|
+ if( sz<2 ) sz = 2;
|
|
+ pIndex->szIdxRow = sqlite3LogEst(sz);
|
|
}else if( sqlite3_strglob("noskipscan*", z)==0 ){
|
|
pIndex->noSkipScan = 1;
|
|
}
|
|
@@ -143260,6 +143262,7 @@ static int whereLoopAddBtreeIndex(
|
|
** it to pNew->rRun, which is currently set to the cost of the index
|
|
** seek only. Then, if this is a non-covering index, add the cost of
|
|
** visiting the rows in the main table. */
|
|
+ assert( pSrc->pTab->szTabRow>0 );
|
|
rCostIdx = pNew->nOut + 1 + (15*pProbe->szIdxRow)/pSrc->pTab->szTabRow;
|
|
pNew->rRun = sqlite3LogEstAdd(rLogSize, rCostIdx);
|
|
if( (pNew->wsFlags & (WHERE_IDX_ONLY|WHERE_IPK))==0 ){
|
|
--
|
|
2.17.1
|
|
|