Compare commits

..
Author SHA1 Message Date
openeuler-ci-bot 58a0fe3119 !64 [sync] PR-60: 修复 CVE-2022-35737
From: @openeuler-sync-bot 
Reviewed-by: @bzhaoop 
Signed-off-by: @bzhaoop
2022-08-26 06:19:22 +00:00
liusirui 0ceaaa30b0 fix CVE-2022-35737
(cherry picked from commit 419bd31973)
2022-08-26 11:30:44 +08:00
openeuler-ci-bot c135d8d9cf !54 【轻量级 PR】:fix spec changelog date error
From: @jxy_git 
Reviewed-by: @bzhaoop 
Signed-off-by: @bzhaoop
2022-06-14 00:52:52 +00:00
jiangxinyu a5ad049268 fix spec changelog date error 2022-06-08 06:56:04 +00:00
openeuler-ci-bot ae04b38c7e !49 Fix the CVE-2021-36690.
From: @wbq_sky
Reviewed-by: @bzhaoop
Signed-off-by: @bzhaoop
2021-11-27 09:13:46 +00:00
wbq_sky 281ace3ce4 fix the CVE-2021-36690
Signed-off-by: wbq_sky <wangbingquan@huawei.com>
2021-11-27 14:08:25 +08:00
openeuler-ci-bot fa6537c498 !47 Update the sqlite to 3.36
From: @wbq_sky
Reviewed-by: @bzhaoop
Signed-off-by: @bzhaoop
2021-11-25 07:34:38 +00:00
wbq_sky 70773bbab5 update to 3.36.0
Signed-off-by: wbq_sky <wangbingquan@huawei.com>
2021-11-25 08:45:52 +08:00
openeuler-ci-bot 17f47bf553 !40 Fix the uninitialized value used in pattern compare function.
From: @wbq_sky
Reviewed-by: @bzhaoop
Signed-off-by: @bzhaoop
2021-09-27 12:01:15 +00:00
wbq_sky c7b6d9b65f fix the uninitialized value used in pattern match
Signed-off-by: wbq_sky <wangbingquan@huawei.com>
2021-09-26 16:28:27 +08:00
openeuler-ci-bot 80491f4558 !39 Fix a problem caused by using an SQL variable in an over clause within a trigger.
From: @wbq_sky
Reviewed-by: @bzhaoop
Signed-off-by: @bzhaoop
2021-09-13 12:28:19 +00:00
wbq_sky b5acf1da61 fix the null reference in the over clause within trigger
Signed-off-by: wbq_sky <wangbingquan@huawei.com>
2021-09-10 14:19:45 +08:00
openeuler-ci-bot 4cbaf5da18 !38 fix the problem of the infinite loop in trim function.
From: @wbq_sky
Reviewed-by: @bzhaoop
Signed-off-by: @bzhaoop
2021-09-10 02:59:56 +00:00
wbq_sky d81186e427 fix the infinite loop in the trim function while the pattern is well formed.
Signed-off-by: wbq_sky <wangbingquan@huawei.com>
2021-09-10 10:54:13 +08:00
openeuler-ci-bot d0aa7d2f6e !30 update 3.34.0
From: @markeryang
Reviewed-by: @liuzhiqiang26
Signed-off-by: @volcanodragon
2021-02-01 09:54:48 +08:00
markeryang 518b78e0c5 update to 3.34.0 2021-01-28 16:06:55 +08:00
openeuler-ci-bot e27e46aeb6 !27 update source0 url in spec file
Merge pull request !27 from lihaotian/master
2020-09-03 11:57:20 +08:00
lihaotian9 77937f0d9f Update the source0 url in spec file 2020-09-03 10:21:16 +08:00
openeuler-ci-bot 52f8d4d496 !25 更新yaml文件
Merge pull request !25 from linfeilong835/master
2020-08-11 14:28:42 +08:00
linfeilong835 9e1b3629dc update sqlite.spec. 2020-08-10 15:37:33 +08:00
linfeilong835 5442a2c86a update sqlite.yaml. 2020-08-10 15:36:27 +08:00
openeuler-ci-bot 062ced1b4f !22 update package to 3.32.3
Merge pull request !22 from 季新杰/master
2020-07-22 09:45:03 +08:00
ji_xinjie c37816cdfa update package to 3.32.3 2020-07-21 14:52:38 +08:00
openeuler-ci-bot 9fa98ae7c4 !21 add yaml file for ci
Merge pull request !21 from liuzhiqiang/master
2020-07-02 17:09:33 +08:00
Zhiqiang Liu f60035837d add yaml file for ci 2020-07-02 12:49:42 +08:00
openeuler-ci-bot c96547d1e4 !20 rename patches
Merge pull request !20 from lfl/master
2020-06-30 21:30:45 +08:00
lfl b3265a3d45 重命名 6061-Fix-CVE-2020-13632.patch 为 0064-Fix-CVE-2020-13632.patch 2020-06-30 11:21:35 +08:00
lfl 71e9ac7753 重命名 6060-Fix-CVE-2020-13630.patch 为 0063-Fix-CVE-2020-13630.patch 2020-06-30 11:21:22 +08:00
lfl ead4e2dcb8 重命名 6059-Fix-CVE-2020-13435.patch 为 0062-Fix-CVE-2020-13435.patch 2020-06-30 11:21:08 +08:00
lfl 4814a7cc8c 重命名 6058-Fix-CVE-2020-13434.patch 为 0061-Fix-CVE-2020-13434.patch 2020-06-30 11:20:57 +08:00
lfl c1061356e6 重命名 6057-Fix-CVE-2020-11655.patch 为 0060-Fix-CVE-2020-11655.patch 2020-06-30 11:20:31 +08:00
lfl 6a69bd9a2b 重命名 6056-Fix-CVE-2020-9327.patch 为 0059-Fix-CVE-2020-9327.patch 2020-06-30 11:20:17 +08:00
lfl fbd7b589dc 重命名 6055-Fix-CVE-2018-20505.patch 为 0058-Fix-CVE-2018-20505.patch 2020-06-30 11:20:05 +08:00
lfl 1510f8e16c 重命名 6054-Fix-the-zipfile-function-in-the-zipfile-extension-so.patch 为 0057-Fix-the-zipfile-function-in-the-zipfile-extension-so.patch 2020-06-30 11:19:48 +08:00
lfl 4028658d2d 重命名 6053-Fix-CVE-2019-20218-Do-not-attempt-to-unwind-the-WITH-stack-in-the-Parse.patch 为 0056-Fix-CVE-2019-20218-Do-not-attempt-to-unwind-the-WITH-stack-in-the-Parse.patch 2020-06-30 11:19:34 +08:00
lfl 6478b567f5 重命名 6052-Fix-CVE-2019-19926-Continuation-of-e2bddcd4c55ba3cb-Add-another-spot-wh.patch 为 0055-Fix-CVE-2019-19926-Continuation-of-e2bddcd4c55ba3cb-Add-another-spot-wh.patch 2020-06-30 11:19:20 +08:00
lfl 4db92c1188 重命名 6051-Fix-CVE-2019-19925-Fix-the-zipfile-extension-so-that-INSERT-works-even-.patch 为 0054-Fix-CVE-2019-19925-Fix-the-zipfile-extension-so-that-INSERT-works-even-.patch 2020-06-30 11:19:07 +08:00
lfl 8b8c74476d 重命名 6050-Fix-CVE-2019-19924-When-an-error-occurs-while-rewriting-the-parser-tree.patch 为 0053-Fix-CVE-2019-19924-When-an-error-occurs-while-rewriting-the-parser-tree.patch 2020-06-30 11:18:51 +08:00
lfl 75b921ed90 重命名 6049-Fix-CVE-2019-19923-Continue-to-back-away-from-the-LEFT-JOIN-optimizatio.patch 为 0052-Fix-CVE-2019-19923-Continue-to-back-away-from-the-LEFT-JOIN-optimizatio.patch 2020-06-30 11:18:38 +08:00
lfl 59d947b664 重命名 6048-Fix-CVE-2019-9937.patch 为 0051-Fix-CVE-2019-9937.patch 2020-06-30 11:18:22 +08:00
lfl 0e1075aa90 重命名 6047-Fix-CVE-2019-9936.patch 为 0050-Fix-CVE-2019-9936.patch 2020-06-30 11:18:05 +08:00
lfl 8a03c1f269 重命名 6046-Fix-CVE-2019-19646.patch 为 0049-Fix-CVE-2019-19646.patch 2020-06-30 11:17:50 +08:00
lfl cfca7355f4 重命名 6045-sqlite-CVE-2019-16168.patch 为 0048-sqlite-CVE-2019-16168.patch 2020-06-30 11:17:38 +08:00
lfl a4d5eb0835 重命名 6044-sqlite-CVE-2019-8457-out-of-bounds-read.patch 为 0047-sqlite-CVE-2019-8457-out-of-bounds-read.patch 2020-06-30 11:17:25 +08:00
lfl 6753ad4ed1 重命名 6043-Fix-a-potential-32-bit-integer-overflow-in-the-showd.patch 为 0046-Fix-a-potential-32-bit-integer-overflow-in-the-showd.patch 2020-06-30 11:17:11 +08:00
lfl b5cab30fb5 重命名 6042-Fix-a-potential-memory-leak-in-RBU-if-the-rbu_fossil.patch 为 0045-Fix-a-potential-memory-leak-in-RBU-if-the-rbu_fossil.patch 2020-06-30 11:17:01 +08:00
lfl 225eb74dcc 重命名 6041-Fix-another-segfault-that-could-occur-in-fts5-with-a.patch 为 0044-Fix-another-segfault-that-could-occur-in-fts5-with-a.patch 2020-06-30 11:16:47 +08:00
lfl 792bda3e5d 重命名 6040-Fix-another-buffer-overrun-that-could-occur-when-que.patch 为 0043-Fix-another-buffer-overrun-that-could-occur-when-que.patch 2020-06-30 11:16:35 +08:00
lfl 08b565203c 重命名 6039-Fix-another-buffer-overread-in-fts5-that-may-occur-w.patch 为 0042-Fix-another-buffer-overread-in-fts5-that-may-occur-w.patch 2020-06-30 11:16:21 +08:00
lfl 2a93fbb21a 重命名 6038-Fix-a-buffer-overrun-triggered-by-a-merge-operation-.patch 为 0041-Fix-a-buffer-overrun-triggered-by-a-merge-operation-.patch 2020-06-30 11:16:08 +08:00
lfl 4006bb682f 重命名 6037-Fix-a-buffer-overread-in-fts3-that-could-occur-when-.patch 为 0040-Fix-a-buffer-overread-in-fts3-that-could-occur-when-.patch 2020-06-30 11:15:57 +08:00
lfl 652f547f01 重命名 6036-Fix-a-segfault-that-could-follow-an-OOM-when-queryin.patch 为 0039-Fix-a-segfault-that-could-follow-an-OOM-when-queryin.patch 2020-06-30 11:15:44 +08:00
lfl 413e0d5513 重命名 6035-Fix-a-potential-problem-with-INSERT-INTO-.-SELECT-FR.patch 为 0038-Fix-a-potential-problem-with-INSERT-INTO-.-SELECT-FR.patch 2020-06-30 11:15:32 +08:00
lfl 0f8d7798cc 重命名 6034-Fix-an-assert-in-vdbemem.c-that-could-fire-if-the-da.patch 为 0037-Fix-an-assert-in-vdbemem.c-that-could-fire-if-the-da.patch 2020-06-30 11:15:20 +08:00
lfl 5103e7ac1b 重命名 6033-Fix-another-fts5-crash-that-can-occur-if-the-databas.patch 为 0036-Fix-another-fts5-crash-that-can-occur-if-the-databas.patch 2020-06-30 11:15:07 +08:00
lfl 63a1641d18 重命名 6032-Fix-a-buffer-overrun-that-could-occur-in-fts5-if-a-p.patch 为 0035-Fix-a-buffer-overrun-that-could-occur-in-fts5-if-a-p.patch 2020-06-30 11:14:56 +08:00
lfl 2ea491f1ad 重命名 6031-Fix-another-segfault-caused-by-a-corrupt-fts3-databa.patch 为 0034-Fix-another-segfault-caused-by-a-corrupt-fts3-databa.patch 2020-06-30 11:14:44 +08:00
lfl 46c4a5f8e1 重命名 6030-Avoid-integer-overflow-when-computing-the-array-of-a.patch 为 0033-Avoid-integer-overflow-when-computing-the-array-of-a.patch 2020-06-30 11:14:31 +08:00
lfl a60b72dcee 重命名 6029-Fix-another-corruption-related-crash-in-fts5.patch 为 0032-Fix-another-corruption-related-crash-in-fts5.patch 2020-06-30 11:14:21 +08:00
lfl 66e0a9f9ab 重命名 6028-Fix-a-buffer-overwrite-that-could-occur-when-running.patch 为 0031-Fix-a-buffer-overwrite-that-could-occur-when-running.patch 2020-06-30 11:14:07 +08:00
lfl 89bb662185 重命名 6027-Fix-a-memory-leak-that-could-occur-in-fts3-when-hand.patch 为 0030-Fix-a-memory-leak-that-could-occur-in-fts3-when-hand.patch 2020-06-30 11:13:58 +08:00
lfl 7afff9642a 重命名 6026-Handle-SQL-NULL-values-without-crashing-in-the-fts5-.patch 为 0029-Handle-SQL-NULL-values-without-crashing-in-the-fts5-.patch 2020-06-30 11:13:45 +08:00
lfl 0554359353 重命名 6025-Fix-a-harmless-memory-leak-in-the-Lemon-parser-gener.patch 为 0028-Fix-a-harmless-memory-leak-in-the-Lemon-parser-gener.patch 2020-06-30 11:13:34 +08:00
lfl 2b5ada67a2 重命名 6024-Fix-a-problem-causing-a-crash-if-an-fts5vocab-table-.patch 为 0027-Fix-a-problem-causing-a-crash-if-an-fts5vocab-table-.patch 2020-06-30 11:13:21 +08:00
lfl b35e4e0c54 重命名 6023-Prevent-unsigned-32-bit-integer-overflow-from-leadin.patch 为 0026-Prevent-unsigned-32-bit-integer-overflow-from-leadin.patch 2020-06-30 11:13:11 +08:00
lfl 3eff60e85b 重命名 6022-Fix-a-segfault-in-fts3-prompted-by-a-corrupted-datab.patch 为 0025-Fix-a-segfault-in-fts3-prompted-by-a-corrupted-datab.patch 2020-06-30 11:12:59 +08:00
lfl 473daf27c6 重命名 6021-Fix-an-out-of-bounds-read-in-SQL-function-fts5_decod.patch 为 0024-Fix-an-out-of-bounds-read-in-SQL-function-fts5_decod.patch 2020-06-30 11:12:50 +08:00
lfl 7832687b71 重命名 6020-Fix-a-possible-memory-leak-when-trying-to-UPDATE-a-c.patch 为 0023-Fix-a-possible-memory-leak-when-trying-to-UPDATE-a-c.patch 2020-06-30 11:12:40 +08:00
lfl 9430f7cf88 重命名 6019-Fix-another-potential-buffer-overread-in-fts5.patch 为 0022-Fix-another-potential-buffer-overread-in-fts5.patch 2020-06-30 11:12:26 +08:00
lfl a819b3de95 重命名 6018-Fix-another-case-in-fts5-where-a-corrupt-database-co.patch 为 0021-Fix-another-case-in-fts5-where-a-corrupt-database-co.patch 2020-06-30 11:12:14 +08:00
lfl 3d5464b54d 重命名 6017-Fix-a-buffer-overwrite-in-fts5-triggered-by-a-corrup.patch 为 0020-Fix-a-buffer-overwrite-in-fts5-triggered-by-a-corrup.patch 2020-06-30 11:12:03 +08:00
lfl d2a61aa711 重命名 6016-Fix-another-problem-with-corrupt-database-handling-i.patch 为 0019-Fix-another-problem-with-corrupt-database-handling-i.patch 2020-06-30 11:11:48 +08:00
lfl 5b5d5b1659 重命名 6015-Fix-a-segfault-caused-by-using-the-RAISE-function-in.patch 为 0018-Fix-a-segfault-caused-by-using-the-RAISE-function-in.patch 2020-06-30 11:11:38 +08:00
lfl 7ee0070701 重命名 6014-Fix-possible-integer-overflow-while-running-PRAGMA-i.patch 为 0017-Fix-possible-integer-overflow-while-running-PRAGMA-i.patch 2020-06-30 11:11:25 +08:00
lfl 71f22b755f 重命名 6013-Fix-a-parser-bug-in-the-use-of-parentheses-around-ta.patch 为 0016-Fix-a-parser-bug-in-the-use-of-parentheses-around-ta.patch 2020-06-30 11:11:16 +08:00
lfl 1824ba27bc 重命名 6012-Fix-a-failing-assert-in-sqlite3ResetAllSchemasOfConn.patch 为 0015-Fix-a-failing-assert-in-sqlite3ResetAllSchemasOfConn.patch 2020-06-30 11:11:06 +08:00
lfl 711bbde7d6 重命名 6011-Fix-minor-memory-leak-in-the-dbstat-extension-that-c.patch 为 0014-Fix-minor-memory-leak-in-the-dbstat-extension-that-c.patch 2020-06-30 11:10:56 +08:00
lfl b992f29a9a 重命名 6010-Take-steps-to-avoid-a-potential-integer-overflow-in-.patch 为 0013-Take-steps-to-avoid-a-potential-integer-overflow-in-.patch 2020-06-30 11:10:45 +08:00
lfl c0f54fe29c 重命名 6009-In-the-CLI-fix-a-file-descriptor-leak-following-OOM-.patch 为 0012-In-the-CLI-fix-a-file-descriptor-leak-following-OOM-.patch 2020-06-30 11:10:36 +08:00
lfl 2164e96e5f 重命名 6008-Fix-a-potential-crash-that-can-occur-while-reading-a.patch 为 0011-Fix-a-potential-crash-that-can-occur-while-reading-a.patch 2020-06-30 11:10:26 +08:00
lfl 3b33a01f77 重命名 6007-Fix-a-problem-causing-ENABLE_CURSOR_HINTS-builds-to-.patch 为 0010-Fix-a-problem-causing-ENABLE_CURSOR_HINTS-builds-to-.patch 2020-06-30 11:10:16 +08:00
lfl acd3c50c05 重命名 6006-Fix-typo-in-the-Win32-specific-code-for-the-fileio-e.patch 为 0009-Fix-typo-in-the-Win32-specific-code-for-the-fileio-e.patch 2020-06-30 11:10:05 +08:00
lfl dbff5d10d5 重命名 6005-Quick-patch-to-the-Lemon-parser-template-to-avoid-an.patch 为 0008-Quick-patch-to-the-Lemon-parser-template-to-avoid-an.patch 2020-06-30 11:09:52 +08:00
lfl 0d8d10ac3a 重命名 6004-Fix-a-minor-problem-in-the-code-for-determining-whet.patch 为 0007-Fix-a-minor-problem-in-the-code-for-determining-whet.patch 2020-06-30 11:09:40 +08:00
lfl 08a95f0783 重命名 6003-Fix-typo-in-the-normalize-extension.patch 为 0006-Fix-typo-in-the-normalize-extension.patch 2020-06-30 11:09:31 +08:00
lfl eb2261ef91 重命名 6002-Fix-a-typo-in-the-amalgamation-autoconf-file.patch 为 0005-Fix-a-typo-in-the-amalgamation-autoconf-file.patch 2020-06-30 11:09:21 +08:00
lfl 12eadfb580 重命名 6001-Change-a-comma-into-a-logically-equivalent-but-seman.patch 为 0004-Change-a-comma-into-a-logically-equivalent-but-seman.patch 2020-06-30 11:09:10 +08:00
lfl b6d95a9924 重命名 6000-Fix-the-sqlite3BeginTrans-calls-within-the-snapshot-.patch 为 0003-Fix-the-sqlite3BeginTrans-calls-within-the-snapshot-.patch 2020-06-30 11:08:53 +08:00
lfl fef5deb7a0 update sqlite.spec. 2020-06-30 11:07:44 +08:00
openeuler-ci-bot 014003e808 !19 fix CVE-2020-13434 CVE-2020-13435 CVE-2020-13630 CVE-2020-13632
Merge pull request !19 from Markeryang/master
2020-06-23 22:37:24 +08:00
xinghe_1 8ea2df76f6 1 2020-06-23 16:33:32 +08:00
9 changed files with 181 additions and 115 deletions
+44
View File
@@ -0,0 +1,44 @@
diff -rNu a/ext/expert/sqlite3expert.c b/ext/expert/sqlite3expert.c
--- a/ext/expert/sqlite3expert.c 2021-11-25 09:00:19.267831518 +0800
+++ b/ext/expert/sqlite3expert.c 2021-11-25 09:07:38.551969861 +0800
@@ -690,11 +690,13 @@
rc = idxPrintfPrepareStmt(db, &p1, pzErrmsg, "PRAGMA table_xinfo=%Q", zTab);
while( rc==SQLITE_OK && SQLITE_ROW==sqlite3_step(p1) ){
const char *zCol = (const char*)sqlite3_column_text(p1, 1);
+ const char *zColSeq = 0;
nByte += 1 + STRLEN(zCol);
rc = sqlite3_table_column_metadata(
- db, "main", zTab, zCol, 0, &zCol, 0, 0, 0
+ db, "main", zTab, zCol, 0, &zColSeq, 0, 0, 0
);
- nByte += 1 + STRLEN(zCol);
+ if( zColSeq==0 ) zColSeq = "binary";
+ nByte += 1 + STRLEN(zColSeq);
nCol++;
nPk += (sqlite3_column_int(p1, 5)>0);
}
@@ -714,6 +716,7 @@
nCol = 0;
while( rc==SQLITE_OK && SQLITE_ROW==sqlite3_step(p1) ){
const char *zCol = (const char*)sqlite3_column_text(p1, 1);
+ const char *zColSeq = 0;
int nCopy = STRLEN(zCol) + 1;
pNew->aCol[nCol].zName = pCsr;
pNew->aCol[nCol].iPk = (sqlite3_column_int(p1, 5)==1 && nPk==1);
@@ -721,12 +724,13 @@
pCsr += nCopy;
rc = sqlite3_table_column_metadata(
- db, "main", zTab, zCol, 0, &zCol, 0, 0, 0
+ db, "main", zTab, zCol, 0, &zColSeq, 0, 0, 0
);
if( rc==SQLITE_OK ){
- nCopy = STRLEN(zCol) + 1;
+ if( zColSeq==0 ) zColSeq = "binary";
+ nCopy = STRLEN(zColSeq) + 1;
pNew->aCol[nCol].zColl = pCsr;
- memcpy(pCsr, zCol, nCopy);
+ memcpy(pCsr, zColSeq, nCopy);
pCsr += nCopy;
}
+80
View File
@@ -0,0 +1,80 @@
From effc07ec9c6e08d3bd17665f8800054770f8c643 Mon Sep 17 00:00:00 2001
From: drh <>
Date: Fri, 15 Jul 2022 12:34:31 +0000
Subject: [PATCH] Fix the whereKeyStats() routine (part of STAT4 processing
only) so that it is able to cope with row-value comparisons against the
primary key index of a WITHOUT ROWID table.
[forum:/forumpost/3607259d3c|Forum post 3607259d3c].
FossilOrigin-Name: 2a6f761864a462de5c2d5bc666b82fb0b7e124a03443cd1482620dde344b34bb
---
src/where.c | 4 ++--
test/rowvalue.test | 31 +++++++++++++++++++++++++++++++
2 files changed, 33 insertions(+), 2 deletions(-)
diff --git a/src/where.c b/src/where.c
index de6ea91e3..110eb4845 100644
--- a/src/where.c
+++ b/src/where.c
@@ -1433,7 +1433,7 @@ static int whereKeyStats(
#endif
assert( pRec!=0 );
assert( pIdx->nSample>0 );
- assert( pRec->nField>0 && pRec->nField<=pIdx->nSampleCol );
+ assert( pRec->nField>0 );
/* Do a binary search to find the first sample greater than or equal
** to pRec. If pRec contains a single field, the set of samples to search
@@ -1479,7 +1479,7 @@ static int whereKeyStats(
** it is extended to two fields. The duplicates that this creates do not
** cause any problems.
*/
- nField = pRec->nField;
+ nField = MIN(pRec->nField, pIdx->nSample);
iCol = 0;
iSample = pIdx->nSample * nField;
do{
diff --git a/test/rowvalue.test b/test/rowvalue.test
index 12fee8237..59b44d938 100644
--- a/test/rowvalue.test
+++ b/test/rowvalue.test
@@ -751,4 +751,35 @@ do_execsql_test 30.3 {
+# 2022-07-15
+# https://sqlite.org/forum/forumpost/3607259d3c
+#
+reset_db
+do_execsql_test 33.1 {
+ CREATE TABLE t1(a INT, b INT PRIMARY KEY) WITHOUT ROWID;
+ INSERT INTO t1(a, b) VALUES (0, 1),(15,-7),(3,100);
+ ANALYZE;
+} {}
+do_execsql_test 33.2 {
+ SELECT * FROM t1 WHERE (b,a) BETWEEN (0,5) AND (99,-2);
+} {0 1}
+do_execsql_test 33.3 {
+ SELECT * FROM t1 WHERE (b,a) BETWEEN (-8,5) AND (0,-2);
+} {15 -7}
+do_execsql_test 33.3 {
+ SELECT * FROM t1 WHERE (b,a) BETWEEN (3,5) AND (100,4);
+} {3 100}
+do_execsql_test 33.3 {
+ SELECT * FROM t1 WHERE (b,a) BETWEEN (3,5) AND (100,2);
+} {}
+do_execsql_test 33.3 {
+ SELECT * FROM t1 WHERE (a,b) BETWEEN (-2,99) AND (1,0);
+} {0 1}
+do_execsql_test 33.3 {
+ SELECT * FROM t1 WHERE (a,b) BETWEEN (14,99) AND (16,0);
+} {15 -7}
+do_execsql_test 33.3 {
+ SELECT * FROM t1 WHERE (a,b) BETWEEN (2,99) AND (4,0);
+} {3 100}
+
finish_test
--
2.25.1
-69
View File
@@ -1,69 +0,0 @@
Index: sqlite-src-3320300/src/select.c
==================================================================
--- sqlite-src-3320300/src/select.c
+++ sqlite-src-3320300/src/select.c
@@ -5613,11 +5613,13 @@
** within the HAVING expression with a constant "1".
*/
static int havingToWhereExprCb(Walker *pWalker, Expr *pExpr){
if( pExpr->op!=TK_AND ){
Select *pS = pWalker->u.pSelect;
- if( sqlite3ExprIsConstantOrGroupBy(pWalker->pParse, pExpr, pS->pGroupBy) ){
+ if( sqlite3ExprIsConstantOrGroupBy(pWalker->pParse, pExpr, pS->pGroupBy)
+ && ExprAlwaysFalse(pExpr)==0
+ ){
sqlite3 *db = pWalker->pParse->db;
Expr *pNew = sqlite3Expr(db, TK_INTEGER, "1");
if( pNew ){
Expr *pWhere = pS->pWhere;
SWAP(Expr, *pNew, *pExpr);
Index: sqlite-src-3320300/test/having.test
==================================================================
--- sqlite-src-3320300/test/having.test
+++ sqlite-src-3320300/test/having.test
@@ -63,12 +63,12 @@
"SELECT a, sum(b) FROM t1 WHERE a=2 GROUP BY a HAVING sum(b)>5"
3 "SELECT a, sum(b) FROM t1 GROUP BY a COLLATE binary HAVING a=2"
"SELECT a, sum(b) FROM t1 WHERE a=2 GROUP BY a COLLATE binary"
- 5 "SELECT a, sum(b) FROM t1 GROUP BY a COLLATE binary HAVING 0"
- "SELECT a, sum(b) FROM t1 WHERE 0 GROUP BY a COLLATE binary"
+ 5 "SELECT a, sum(b) FROM t1 GROUP BY a COLLATE binary HAVING 1"
+ "SELECT a, sum(b) FROM t1 WHERE 1 GROUP BY a COLLATE binary"
6 "SELECT count(*) FROM t1,t2 WHERE a=c GROUP BY b, d HAVING b=d"
"SELECT count(*) FROM t1,t2 WHERE a=c AND b=d GROUP BY b, d"
7 {
@@ -151,8 +151,28 @@
#
set ::nondeter_ret 0
do_execsql_test 4.3 {
SELECT a, sum(b) FROM t3 WHERE nondeter(a) GROUP BY a
} {1 4 2 2}
+
+#-------------------------------------------------------------------------
+reset_db
+do_execsql_test 5.0 {
+ CREATE TABLE t1(a, b);
+ CREATE TABLE t2(x, y);
+ INSERT INTO t1 VALUES('a', 'b');
+}
+
+# The WHERE clause (a=2), uses an aggregate column from the outer query.
+# If the HAVING term (0) is moved into the WHERE clause in this case,
+# SQLite would at one point optimize (a=2 AND 0) to simply (0). Which
+# is logically correct, but happened to cause problems in aggregate
+# processing for the outer query. This test case verifies that those
+# problems are no longer present.
+do_execsql_test 5.1 {
+ SELECT min(b), (
+ SELECT x FROM t2 WHERE a=2 GROUP BY y HAVING 0
+ ) FROM t1;
+} {b {}}
finish_test
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+53 -46
View File
@@ -1,24 +1,24 @@
%bcond_without check
%global extver 3320300
%global extver 3360000
%global tcl_version 8.6
%global tcl_sitearch %{_libdir}/tcl%{tcl_version}
%global year 2020
Name: sqlite
Version: 3.32.3
Version: 3.36.0
Release: 3
Summary: Embeded SQL database
License: Public Domain
URL: http://www.sqlite.org/
Source0: https://www.sqlite.org/%{year}/sqlite-src-%{extver}.zip
Source1: http://www.sqlite.org/%{year}/sqlite-doc-%{extver}.zip
Source2: https://www.sqlite.org/%{year}/sqlite-autoconf-%{extver}.tar.gz
Source0: https://www.sqlite.org/2021/sqlite-src-%{extver}.zip
Source1: http://www.sqlite.org/2021/sqlite-doc-%{extver}.zip
Source2: https://www.sqlite.org/2021/sqlite-autoconf-%{extver}.tar.gz
Patch1: 0001-sqlite-no-malloc-usable-size.patch
Patch2: 0002-remove-fail-testcase-in-no-free-fd-situation.patch
Patch3: CVE-2021-20227.patch
Patch3: 0003-CVE-2021-36690.patch
Patch4: 0004-CVE-2022-35737.patch
BuildRequires: gcc autoconf tcl tcl-devel
BuildRequires: ncurses-devel readline-devel glibc-devel
@@ -64,7 +64,7 @@ This contains man files and HTML files for the using of sqlite.
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
rm -f %{name}-doc-%{extver}/sqlite.css~ || :
@@ -106,8 +106,6 @@ chmod 755 %{buildroot}/%{tcl_sitearch}/sqlite3/*.so
%check
export LD_LIBRARY_PATH=`pwd`/.libs
export MALLOC_CHECK_=3
#bypass zipfile.test
rm test/zipfile.test
%ifarch x86_64 %{ix86}
%else
@@ -137,50 +135,59 @@ make test
%{_mandir}/man*/*
%changelog
* Mon Apr 26 2021 bzhaoop<bzhaojyathousandy@gmail.com> - 3.32.3-3
- Fix CVE-2021-20227
* Tue Aug 16 2022 liusirui <liusirui@huawei.com> - 3.36.0-3
- fix the CVE-2022-35737.
* Thu Sep 2 2020 lihaotian<lihaotian9@huawei.com> - 3.32.3-2
* Sat Nov 27 2021 wbq_sky <wangbingquan@huawei.com> - 3.36.0-2
- fix the CVE-2021-36690.
* Fri Nov 25 2021 wbq_sky <wangbingquan@huawei.com> - 3.36.0-1
- update to 3.36.0.
* Fri Sep 26 2021 wbq_sky <wangbingquan@huawei.com> - 3.34.0-4
- fix the uninitialized value used in pattern match.
* Fri Sep 3 2021 wbq_sky <wangbingquan@huawei.com> - 3.34.0-3
- fix the null reference in the tigger statement.
* Fri Sep 3 2021 wbq_sky <wangbingquan@huawei.com> - 3.34.0-2
- fix the infinite loop problem in the trim function while the pattern is well formed.
* Thu Jan 14 2021 yanglongkang <yanglongkang@huawei.com> - 3.34.0-1
- update package to 3.34.0
* Thu Sep 3 2020 lihaotian<lihaotian9@huawei.com> - 3.32.3-3
- update source0 url
* Tue Aug 25 2020 yanglongkang <yanglongkang@huawei.com> - 3.32.3-1
* Tue Jul 21 2020 jixinjie <jixinjie@huawei.com> - 3.32.3-2
- update yaml file
* Tue Jul 21 2020 jixinjie <jixinjie@huawei.com> - 3.32.3-1
- update package to 3.32.3
* Tue Aug 4 2020 yanglongkang <yanglongkang@huawei.com> - 3.31.1-2
- Type:cves
- ID:CVE-2020-13871
- SUG: NA
- DESC: fix cve
* Mon Aug 3 2020 yanglongkang <yanglongkang@huawei.com> - 3.31.1-1
- Type:cves
- ID:CVE-2020-15358 CVE-2020-13631
- SUG: NA
- DESC: fix cve
* Fri Apr 17 2020 luoshijie <luoshijie1@huawei.com> - 3.31.1-0
* Tue Jun 30 2020 volcanodragon <linfeilong@huawei.com> - 3.24.0-12
- Type:enhancement
- ID:NA
- SUG:restart
- DESC:update sqlite to 3.31.1.
* Tue Mar 10 2020 guiyao <guiyao@huawei.com> - 3.24.0-11
- Type:cves
- ID:CVE-2020-9327
- SUG: NA
- DESC: fix cve
* Fri Feb 28 2020 sunshihao <sunshihao@huawei.com> - 3.24.0-10
- Type:enhancement
- ID:
- SUG: NA
- DESC: remove suffix information
* Wed Feb 26 2020 guiyao <guiyao@huawei.com> - 3.24.0-9
- Type:cves
- ID:CVE-2018-20505
- SUG:NA
- DESC:fix cves
- DESC:rename patches
* Tue Jun 23 2020 yanglongkang <yanglongkang@huawei.com> - 3.24.0-11
- Type:cves
- ID:CVE-2020-13434 CVE-2020-13435 CVE-2020-13630 CVE-2020-13632
- SUG:NA
- DESC:fix CVE-2020-13434 CVE-2020-13435 CVE-2020-13630 CVE-2020-13632
* Sun Apr 19 2020 ethan848 <mingfangsen@huawei.com>
- Type:enhancement
- ID:NA
- SUG:NA
- DESC:CVE-2020-11655 fixed
* Tue Mar 10 2020 steven <steven_ygui@163.com> - 3.24.0-9
- Type:enhancement
- ID:NA
- SUG:NA
- DESC:CVE-2018-20505, CVE-2020-9327 fixed
* Wed Jan 11 2020 openEuler Buildteam <buildteam@openeuler.org> - 3.24.0-8
- Type:enhancement
+4
View File
@@ -0,0 +1,4 @@
version_control: fossil
src_repo: https://www.sqlite.org/src
tag_prefix: "version-"
seperator: "."