summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/sqlite/patches
diff options
context:
space:
mode:
Diffstat (limited to 'src/3rdparty/sqlite/patches')
-rw-r--r--src/3rdparty/sqlite/patches/0001-Fix-CVE-2019-19244-in-SQLite.patch26
-rw-r--r--src/3rdparty/sqlite/patches/0002-Fix-CVE-2019-19242-in-SQLite.patch31
-rw-r--r--src/3rdparty/sqlite/patches/0003-Fix-CVE-2019-19603-in-SQLite.patch95
-rw-r--r--src/3rdparty/sqlite/patches/0004-Fix-CVE-2019-19646-in-SQLite.patch29
-rw-r--r--src/3rdparty/sqlite/patches/0005-Fix-CVE-2019-19645-in-SQLite.patch83
5 files changed, 0 insertions, 264 deletions
diff --git a/src/3rdparty/sqlite/patches/0001-Fix-CVE-2019-19244-in-SQLite.patch b/src/3rdparty/sqlite/patches/0001-Fix-CVE-2019-19244-in-SQLite.patch
deleted file mode 100644
index 9906292860..0000000000
--- a/src/3rdparty/sqlite/patches/0001-Fix-CVE-2019-19244-in-SQLite.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 676425e522e08eb0e7dfaacdac79a5de27542322 Mon Sep 17 00:00:00 2001
-From: Andy Shaw <andy.shaw@qt.io>
-Date: Wed, 11 Dec 2019 10:51:22 +0100
-Subject: [PATCH 53/53] Fix CVE-2019-19244 in SQLite
-
-Fixes: QTBUG-80635
-Change-Id: I718349e28ec76ea164dd50f2a985f2074dd6bdbd
----
- src/3rdparty/sqlite/sqlite3.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/3rdparty/sqlite/sqlite3.c b/src/3rdparty/sqlite/sqlite3.c
-index 8fd740b300..bd647ca1c2 100644
---- a/src/3rdparty/sqlite/sqlite3.c
-+++ b/src/3rdparty/sqlite/sqlite3.c
-@@ -131679,6 +131679,7 @@ SQLITE_PRIVATE int sqlite3Select(
- */
- if( (p->selFlags & (SF_Distinct|SF_Aggregate))==SF_Distinct
- && sqlite3ExprListCompare(sSort.pOrderBy, pEList, -1)==0
-+ && p->pWin==0
- ){
- p->selFlags &= ~SF_Distinct;
- pGroupBy = p->pGroupBy = sqlite3ExprListDup(db, pEList, 0);
---
-2.21.0 (Apple Git-122.2)
-
diff --git a/src/3rdparty/sqlite/patches/0002-Fix-CVE-2019-19242-in-SQLite.patch b/src/3rdparty/sqlite/patches/0002-Fix-CVE-2019-19242-in-SQLite.patch
deleted file mode 100644
index 92739192e4..0000000000
--- a/src/3rdparty/sqlite/patches/0002-Fix-CVE-2019-19242-in-SQLite.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 7905740b8e79479298e83d8e559fc49b46cf980e Mon Sep 17 00:00:00 2001
-From: Andy Shaw <andy.shaw@qt.io>
-Date: Thu, 19 Dec 2019 21:59:09 +0100
-Subject: [PATCH] Fix CVE-2019-19242 in SQLite
-
-Change-Id: I78a72a574da5cf3503950afe47146ae6424f00c6
----
- src/3rdparty/sqlite/sqlite3.c | 7 ++++++-
- 1 file changed, 6 insertions(+), 1 deletion(-)
-
-diff --git a/src/3rdparty/sqlite/sqlite3.c b/src/3rdparty/sqlite/sqlite3.c
-index bd647ca1c2..d3e0c065b6 100644
---- a/src/3rdparty/sqlite/sqlite3.c
-+++ b/src/3rdparty/sqlite/sqlite3.c
-@@ -101055,7 +101055,12 @@ expr_code_doover:
- ** constant.
- */
- int iReg = sqlite3ExprCodeTarget(pParse, pExpr->pLeft,target);
-- int aff = sqlite3TableColumnAffinity(pExpr->y.pTab, pExpr->iColumn);
-+ int aff;
-+ if( pExpr->y.pTab ){
-+ aff = sqlite3TableColumnAffinity(pExpr->y.pTab, pExpr->iColumn);
-+ }else{
-+ aff = pExpr->affExpr;
-+ }
- if( aff>SQLITE_AFF_BLOB ){
- static const char zAff[] = "B\000C\000D\000E";
- assert( SQLITE_AFF_BLOB=='A' );
---
-2.21.0 (Apple Git-122.2)
-
diff --git a/src/3rdparty/sqlite/patches/0003-Fix-CVE-2019-19603-in-SQLite.patch b/src/3rdparty/sqlite/patches/0003-Fix-CVE-2019-19603-in-SQLite.patch
deleted file mode 100644
index 1b8deaa4a1..0000000000
--- a/src/3rdparty/sqlite/patches/0003-Fix-CVE-2019-19603-in-SQLite.patch
+++ /dev/null
@@ -1,95 +0,0 @@
-From 11a2f4647b67494fb731a6fd793f1b28074631d3 Mon Sep 17 00:00:00 2001
-From: Andy Shaw <andy.shaw@qt.io>
-Date: Thu, 19 Dec 2019 22:31:15 +0100
-Subject: [PATCH] Fix CVE-2019-19603 in SQLite
-
-This includes the patch needed to fix this CVE and a supporting one to
-include a new function added that it depends on.
-
-Task-number: QTBUG-80903
-Change-Id: Ic7639d50c89a3ee7d45426588c3ab0efd0eebb72
----
- src/3rdparty/sqlite/sqlite3.c | 32 ++++++++++++++++++++++++++------
- 1 file changed, 26 insertions(+), 6 deletions(-)
-
-diff --git a/src/3rdparty/sqlite/sqlite3.c b/src/3rdparty/sqlite/sqlite3.c
-index d3e0c065b6..a430554db7 100644
---- a/src/3rdparty/sqlite/sqlite3.c
-+++ b/src/3rdparty/sqlite/sqlite3.c
-@@ -19519,6 +19519,12 @@ SQLITE_PRIVATE Module *sqlite3VtabCreateModule(
- );
- # define sqlite3VtabInSync(db) ((db)->nVTrans>0 && (db)->aVTrans==0)
- #endif
-+SQLITE_PRIVATE int sqlite3ReadOnlyShadowTables(sqlite3 *db);
-+#ifndef SQLITE_OMIT_VIRTUALTABLE
-+SQLITE_PRIVATE int sqlite3ShadowTableName(sqlite3 *db, const char *zName);
-+#else
-+# define sqlite3ShadowTableName(A,B) 0
-+#endif
- SQLITE_PRIVATE int sqlite3VtabEponymousTableInit(Parse*,Module*);
- SQLITE_PRIVATE void sqlite3VtabEponymousTableClear(sqlite3*,Module*);
- SQLITE_PRIVATE void sqlite3VtabMakeWritable(Parse*,Table*);
-@@ -108483,6 +108489,22 @@ SQLITE_PRIVATE int sqlite3WritableSchema(sqlite3 *db){
- return (db->flags&(SQLITE_WriteSchema|SQLITE_Defensive))==SQLITE_WriteSchema;
- }
-
-+/*
-+ ** Return TRUE if shadow tables should be read-only in the current
-+ ** context.
-+ */
-+int sqlite3ReadOnlyShadowTables(sqlite3 *db){
-+#ifndef SQLITE_OMIT_VIRTUALTABLE
-+ if( (db->flags & SQLITE_Defensive)!=0
-+ && db->pVtabCtx==0
-+ && db->nVdbeExec==0
-+ ){
-+ return 1;
-+ }
-+#endif
-+ return 0;
-+}
-+
- /*
- ** This routine is used to check if the UTF-8 string zName is a legal
- ** unqualified name for a new schema object (table, index, view or
-@@ -108516,8 +108538,8 @@ SQLITE_PRIVATE int sqlite3CheckObjectName(
- }
- }
- }else{
-- if( pParse->nested==0
-- && 0==sqlite3StrNICmp(zName, "sqlite_", 7)
-+ if( (pParse->nested==0 && 0==sqlite3StrNICmp(zName, "sqlite_", 7))
-+ || (sqlite3ReadOnlyShadowTables(db) && sqlite3ShadowTableName(db, zName))
- ){
- sqlite3ErrorMsg(pParse, "object name reserved for internal use: %s",
- zName);
-@@ -109662,7 +109684,7 @@ static void convertToWithoutRowidTable(Parse *pParse, Table *pTab){
- ** zName is temporarily modified while this routine is running, but is
- ** restored to its original value prior to this routine returning.
- */
--static int isShadowTableName(sqlite3 *db, char *zName){
-+int sqlite3ShadowTableName(sqlite3 *db, const char *zName){
- char *zTail; /* Pointer to the last "_" in zName */
- Table *pTab; /* Table that zName is a shadow of */
- Module *pMod; /* Module for the virtual table */
-@@ -109680,8 +109702,6 @@ static int isShadowTableName(sqlite3 *db, char *zName){
- if( pMod->pModule->xShadowName==0 ) return 0;
- return pMod->pModule->xShadowName(zTail+1);
- }
--#else
--# define isShadowTableName(x,y) 0
- #endif /* ifndef SQLITE_OMIT_VIRTUALTABLE */
-
- /*
-@@ -109723,7 +109743,7 @@ SQLITE_PRIVATE void sqlite3EndTable(
- p = pParse->pNewTable;
- if( p==0 ) return;
-
-- if( pSelect==0 && isShadowTableName(db, p->zName) ){
-+ if( pSelect==0 && sqlite3ShadowTableName(db, p->zName) ){
- p->tabFlags |= TF_Shadow;
- }
-
---
-2.21.0 (Apple Git-122.2)
-
diff --git a/src/3rdparty/sqlite/patches/0004-Fix-CVE-2019-19646-in-SQLite.patch b/src/3rdparty/sqlite/patches/0004-Fix-CVE-2019-19646-in-SQLite.patch
deleted file mode 100644
index db436ab4f6..0000000000
--- a/src/3rdparty/sqlite/patches/0004-Fix-CVE-2019-19646-in-SQLite.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From a83bbce4d6f31d93ea4d2a681aa52c148f148e26 Mon Sep 17 00:00:00 2001
-From: Andy Shaw <andy.shaw@qt.io>
-Date: Thu, 2 Jan 2020 09:07:08 +0100
-Subject: [PATCH] Fix CVE-2019-19646 in SQLite
-
-Task-number: QTBUG-81020
-Change-Id: I7176db20d4a44b1fb443a6108675f719e9643343
----
- src/3rdparty/sqlite/sqlite3.c | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/src/3rdparty/sqlite/sqlite3.c b/src/3rdparty/sqlite/sqlite3.c
-index 57e61b8313..980a149b1a 100644
---- a/src/3rdparty/sqlite/sqlite3.c
-+++ b/src/3rdparty/sqlite/sqlite3.c
-@@ -123765,7 +123765,9 @@ SQLITE_PRIVATE void sqlite3Pragma(
- if( j==pTab->iPKey ) continue;
- if( pTab->aCol[j].notNull==0 ) continue;
- sqlite3ExprCodeGetColumnOfTable(v, pTab, iDataCur, j, 3);
-- sqlite3VdbeChangeP5(v, OPFLAG_TYPEOFARG);
-+ if( sqlite3VdbeGetOp(v,-1)->opcode==OP_Column ){
-+ sqlite3VdbeChangeP5(v, OPFLAG_TYPEOFARG);
-+ }
- jmp2 = sqlite3VdbeAddOp1(v, OP_NotNull, 3); VdbeCoverage(v);
- zErr = sqlite3MPrintf(db, "NULL value in %s.%s", pTab->zName,
- pTab->aCol[j].zName);
---
-2.21.0 (Apple Git-122.2)
-
diff --git a/src/3rdparty/sqlite/patches/0005-Fix-CVE-2019-19645-in-SQLite.patch b/src/3rdparty/sqlite/patches/0005-Fix-CVE-2019-19645-in-SQLite.patch
deleted file mode 100644
index e92c566881..0000000000
--- a/src/3rdparty/sqlite/patches/0005-Fix-CVE-2019-19645-in-SQLite.patch
+++ /dev/null
@@ -1,83 +0,0 @@
-From 78c972eec5bab03a408b8ba1373572bcfe2db630 Mon Sep 17 00:00:00 2001
-From: Andy Shaw <andy.shaw@qt.io>
-Date: Thu, 2 Jan 2020 08:47:23 +0100
-Subject: [PATCH] Fix CVE-2019-19645 in SQLite
-
-Task-number: QTBUG-81020
-Change-Id: I58b1dd9e7a90ba998c3af7f25a4627d8bdd70970
----
- src/3rdparty/sqlite/sqlite3.c | 11 ++++++++++-
- 1 file changed, 10 insertions(+), 1 deletion(-)
-
-diff --git a/src/3rdparty/sqlite/sqlite3.c b/src/3rdparty/sqlite/sqlite3.c
-index d3e0c065b6..57e61b8313 100644
---- a/src/3rdparty/sqlite/sqlite3.c
-+++ b/src/3rdparty/sqlite/sqlite3.c
-@@ -17946,6 +17946,7 @@ struct Select {
- #define SF_IncludeHidden 0x20000 /* Include hidden columns in output */
- #define SF_ComplexResult 0x40000 /* Result contains subquery or function */
- #define SF_WhereBegin 0x80000 /* Really a WhereBegin() call. Debug Only */
-+#define SF_View 0x0200000 /* SELECT statement is a view */
-
- /*
- ** The results of a SELECT can be distributed in several ways, as defined
-@@ -103920,6 +103921,7 @@ static int renameUnmapExprCb(Walker *pWalker, Expr *pExpr){
- static int renameUnmapSelectCb(Walker *pWalker, Select *p){
- Parse *pParse = pWalker->pParse;
- int i;
-+ if( p->selFlags & SF_View ) return WRC_Prune;
- if( ALWAYS(p->pEList) ){
- ExprList *pList = p->pEList;
- for(i=0; i<pList->nExpr; i++){
-@@ -104024,6 +104026,7 @@ static void renameWalkWith(Walker *pWalker, Select *pSelect){
- ** descend into sub-select statements.
- */
- static int renameColumnSelectCb(Walker *pWalker, Select *p){
-+ if( p->selFlags & SF_View ) return WRC_Prune;
- renameWalkWith(pWalker, p);
- return WRC_Continue;
- }
-@@ -104489,8 +104492,9 @@ static void renameColumnFunc(
- if( sParse.pNewTable ){
- Select *pSelect = sParse.pNewTable->pSelect;
- if( pSelect ){
-+ pSelect->selFlags &= ~SF_View;
- sParse.rc = SQLITE_OK;
-- sqlite3SelectPrep(&sParse, sParse.pNewTable->pSelect, 0);
-+ sqlite3SelectPrep(&sParse, pSelect, 0);
- rc = (db->mallocFailed ? SQLITE_NOMEM : sParse.rc);
- if( rc==SQLITE_OK ){
- sqlite3WalkSelect(&sWalker, pSelect);
-@@ -104602,6 +104606,7 @@ static int renameTableSelectCb(Walker *pWalker, Select *pSelect){
- int i;
- RenameCtx *p = pWalker->u.pRename;
- SrcList *pSrc = pSelect->pSrc;
-+ if( pSelect->selFlags & SF_View ) return WRC_Prune;
- if( pSrc==0 ){
- assert( pWalker->pParse->db->mallocFailed );
- return WRC_Abort;
-@@ -104681,10 +104686,13 @@ static void renameTableFunc(
-
- if( pTab->pSelect ){
- if( isLegacy==0 ){
-+ Select *pSelect = pTab->pSelect;
- NameContext sNC;
- memset(&sNC, 0, sizeof(sNC));
- sNC.pParse = &sParse;
-
-+ assert( pSelect->selFlags & SF_View );
-+ pSelect->selFlags &= ~SF_View;
- sqlite3SelectPrep(&sParse, pTab->pSelect, &sNC);
- if( sParse.nErr ) rc = sParse.rc;
- sqlite3WalkSelect(&sWalker, pTab->pSelect);
-@@ -109994,6 +110002,7 @@ SQLITE_PRIVATE void sqlite3CreateView(
- ** allocated rather than point to the input string - which means that
- ** they will persist after the current sqlite3_exec() call returns.
- */
-+ pSelect->selFlags |= SF_View;
- if( IN_RENAME_OBJECT ){
- p->pSelect = pSelect;
- pSelect = 0;
---
-2.21.0 (Apple Git-122.2)
-