Complete Yocto mirror with license table for TQMa6UL (2038-compliance)
- 264 license table entries with exact download URLs (224/264 resolved) - Complete sources/ directory with all BitBake recipes - Build configuration: tqma6ul-multi-mba6ulx, spaetzle (musl) - Full traceability for Softwarefreigabeantrag - GCC 13.4.0, Linux 6.6.102, U-Boot 2023.04, musl 1.2.4 - License distribution: GPL-2.0 (24), MIT (23), GPL-2.0+ (18), BSD-3 (16)
This commit is contained in:
68
sources/poky/meta/recipes-support/sqlite/sqlite3.inc
Normal file
68
sources/poky/meta/recipes-support/sqlite/sqlite3.inc
Normal file
@@ -0,0 +1,68 @@
|
||||
SUMMARY = "Embeddable SQL database engine"
|
||||
DESCRIPTION = "A library that implements a small, fast, self-contained, high-reliability, full-featured, SQL database engine. SQLite is the most used database engine in the world. SQLite is built into all mobile phones and most computers and comes bundled inside countless other applications that people use every day"
|
||||
HOMEPAGE = "http://www.sqlite.org"
|
||||
SECTION = "libs"
|
||||
|
||||
PE = "3"
|
||||
|
||||
def sqlite_download_version(d):
|
||||
pvsplit = d.getVar('PV').split('.')
|
||||
if len(pvsplit) < 4:
|
||||
pvsplit.append('0')
|
||||
return pvsplit[0] + ''.join([part.rjust(2,'0') for part in pvsplit[1:]])
|
||||
|
||||
SQLITE_PV = "${@sqlite_download_version(d)}"
|
||||
|
||||
S = "${WORKDIR}/sqlite-autoconf-${SQLITE_PV}"
|
||||
|
||||
UPSTREAM_CHECK_URI = "http://www.sqlite.org/"
|
||||
UPSTREAM_CHECK_REGEX = "releaselog/(?P<pver>(\d+[\.\-_]*)+)\.html"
|
||||
|
||||
CVE_PRODUCT = "sqlite"
|
||||
|
||||
inherit autotools pkgconfig siteinfo
|
||||
|
||||
# enable those which are enabled by default in configure
|
||||
PACKAGECONFIG ?= "fts4 fts5 rtree dyn_ext"
|
||||
PACKAGECONFIG:class-native ?= "fts4 fts5 rtree dyn_ext"
|
||||
|
||||
PACKAGECONFIG[editline] = "--enable-editline,--disable-editline,libedit"
|
||||
PACKAGECONFIG[readline] = "--enable-readline,--disable-readline,readline ncurses"
|
||||
PACKAGECONFIG[fts3] = "--enable-fts3,--disable-fts3"
|
||||
PACKAGECONFIG[fts4] = "--enable-fts4,--disable-fts4"
|
||||
PACKAGECONFIG[fts5] = "--enable-fts5,--disable-fts5"
|
||||
PACKAGECONFIG[rtree] = "--enable-rtree,--disable-rtree"
|
||||
PACKAGECONFIG[session] = "--enable-session,--disable-session"
|
||||
PACKAGECONFIG[dyn_ext] = "--enable-dynamic-extensions,--disable-dynamic-extensions"
|
||||
PACKAGECONFIG[zlib] = ",,zlib"
|
||||
|
||||
CACHED_CONFIGUREVARS += "${@bb.utils.contains('PACKAGECONFIG', 'zlib', '', 'ac_cv_search_deflate=no',d)}"
|
||||
|
||||
EXTRA_OECONF = " \
|
||||
--enable-shared \
|
||||
--enable-threadsafe \
|
||||
--disable-static-shell \
|
||||
"
|
||||
|
||||
# pread() is in POSIX.1-2001 so any reasonable system must surely support it
|
||||
CFLAGS:append = " -DUSE_PREAD"
|
||||
|
||||
# Provide column meta-data API
|
||||
CFLAGS:append = " -DSQLITE_ENABLE_COLUMN_METADATA"
|
||||
|
||||
# Unless SQLITE_BYTEORDER is predefined, the code falls back to build time
|
||||
# huristics, which are not always correct
|
||||
CFLAGS:append = " ${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'le', '-DSQLITE_BYTEORDER=1234', '-DSQLITE_BYTEORDER=4321', d)}"
|
||||
|
||||
PACKAGES = "lib${BPN} lib${BPN}-dev lib${BPN}-doc ${PN}-dbg lib${BPN}-staticdev ${PN}"
|
||||
|
||||
FILES:${PN} = "${bindir}/*"
|
||||
FILES:lib${BPN} = "${libdir}/*.so.*"
|
||||
FILES:lib${BPN}-dev = "${libdir}/*.la ${libdir}/*.so \
|
||||
${libdir}/pkgconfig ${includedir}"
|
||||
FILES:lib${BPN}-doc = "${docdir} ${mandir} ${infodir}"
|
||||
FILES:lib${BPN}-staticdev = "${libdir}/lib*.a"
|
||||
|
||||
AUTO_LIBNAME_PKGS = "${MLPREFIX}lib${BPN}"
|
||||
|
||||
BBCLASSEXTEND = "native nativesdk"
|
||||
@@ -0,0 +1,179 @@
|
||||
From 57d1e61dda969659f59a0b7841c7d0287d724bc6 Mon Sep 17 00:00:00 2001
|
||||
From: drh <>
|
||||
Date: Mon, 17 Feb 2025 14:16:49 +0000
|
||||
Subject: [PATCH] Harden the SQLITE_DBCONFIG_LOOKASIDE interface against
|
||||
misuse, such as described in [forum:/forumpost/48f365daec|forum post
|
||||
48f365daec]. Enhancements to the SQLITE_DBCONFIG_LOOKASIDE documentation.
|
||||
Test cases in TH3.
|
||||
|
||||
FossilOrigin-Name: 1ec4c308c76c69fba031184254fc3340f07607cfbf8342b13713ab445563d377
|
||||
|
||||
CVE: CVE-2025-29088
|
||||
Upstream-Status: Backport [https://github.com/sqlite/sqlite/commit/56d2fd008b108109f489339f5fd55212bb50afd4]
|
||||
Signed-off-by: Peter Marko <peter.marko@siemens.com>
|
||||
---
|
||||
sqlite3.c | 42 +++++++++++++++++++++++---------------
|
||||
sqlite3.h | 60 +++++++++++++++++++++++++++++++++++++------------------
|
||||
2 files changed, 67 insertions(+), 35 deletions(-)
|
||||
|
||||
diff --git a/sqlite3.c b/sqlite3.c
|
||||
index 24d0d954d9..2574a43f3e 100644
|
||||
--- a/sqlite3.c
|
||||
+++ b/sqlite3.c
|
||||
@@ -179112,17 +179112,22 @@ SQLITE_API int sqlite3_config(int op, ...){
|
||||
** If lookaside is already active, return SQLITE_BUSY.
|
||||
**
|
||||
** The sz parameter is the number of bytes in each lookaside slot.
|
||||
-** The cnt parameter is the number of slots. If pStart is NULL the
|
||||
-** space for the lookaside memory is obtained from sqlite3_malloc().
|
||||
-** If pStart is not NULL then it is sz*cnt bytes of memory to use for
|
||||
-** the lookaside memory.
|
||||
+** The cnt parameter is the number of slots. If pBuf is NULL the
|
||||
+** space for the lookaside memory is obtained from sqlite3_malloc()
|
||||
+** or similar. If pBuf is not NULL then it is sz*cnt bytes of memory
|
||||
+** to use for the lookaside memory.
|
||||
*/
|
||||
-static int setupLookaside(sqlite3 *db, void *pBuf, int sz, int cnt){
|
||||
+static int setupLookaside(
|
||||
+ sqlite3 *db, /* Database connection being configured */
|
||||
+ void *pBuf, /* Memory to use for lookaside. May be NULL */
|
||||
+ int sz, /* Desired size of each lookaside memory slot */
|
||||
+ int cnt /* Number of slots to allocate */
|
||||
+){
|
||||
#ifndef SQLITE_OMIT_LOOKASIDE
|
||||
- void *pStart;
|
||||
- sqlite3_int64 szAlloc = sz*(sqlite3_int64)cnt;
|
||||
- int nBig; /* Number of full-size slots */
|
||||
- int nSm; /* Number smaller LOOKASIDE_SMALL-byte slots */
|
||||
+ void *pStart; /* Start of the lookaside buffer */
|
||||
+ sqlite3_int64 szAlloc; /* Total space set aside for lookaside memory */
|
||||
+ int nBig; /* Number of full-size slots */
|
||||
+ int nSm; /* Number smaller LOOKASIDE_SMALL-byte slots */
|
||||
|
||||
if( sqlite3LookasideUsed(db,0)>0 ){
|
||||
return SQLITE_BUSY;
|
||||
@@ -179135,17 +179140,22 @@ static int setupLookaside(sqlite3 *db, void *pBuf, int sz, int cnt){
|
||||
sqlite3_free(db->lookaside.pStart);
|
||||
}
|
||||
/* The size of a lookaside slot after ROUNDDOWN8 needs to be larger
|
||||
- ** than a pointer to be useful.
|
||||
+ ** than a pointer and small enough to fit in a u16.
|
||||
*/
|
||||
- sz = ROUNDDOWN8(sz); /* IMP: R-33038-09382 */
|
||||
+ sz = ROUNDDOWN8(sz);
|
||||
if( sz<=(int)sizeof(LookasideSlot*) ) sz = 0;
|
||||
- if( cnt<0 ) cnt = 0;
|
||||
- if( sz==0 || cnt==0 ){
|
||||
+ if( sz>65528 ) sz = 65528;
|
||||
+ /* Count must be at least 1 to be useful, but not so large as to use
|
||||
+ ** more than 0x7fff0000 total bytes for lookaside. */
|
||||
+ if( cnt<1 ) cnt = 0;
|
||||
+ if( sz>0 && cnt>(0x7fff0000/sz) ) cnt = 0x7fff0000/sz;
|
||||
+ szAlloc = (i64)sz*(i64)cnt;
|
||||
+ if( szAlloc==0 ){
|
||||
sz = 0;
|
||||
pStart = 0;
|
||||
}else if( pBuf==0 ){
|
||||
sqlite3BeginBenignMalloc();
|
||||
- pStart = sqlite3Malloc( szAlloc ); /* IMP: R-61949-35727 */
|
||||
+ pStart = sqlite3Malloc( szAlloc );
|
||||
sqlite3EndBenignMalloc();
|
||||
if( pStart ) szAlloc = sqlite3MallocSize(pStart);
|
||||
}else{
|
||||
@@ -179154,10 +179164,10 @@ static int setupLookaside(sqlite3 *db, void *pBuf, int sz, int cnt){
|
||||
#ifndef SQLITE_OMIT_TWOSIZE_LOOKASIDE
|
||||
if( sz>=LOOKASIDE_SMALL*3 ){
|
||||
nBig = szAlloc/(3*LOOKASIDE_SMALL+sz);
|
||||
- nSm = (szAlloc - sz*nBig)/LOOKASIDE_SMALL;
|
||||
+ nSm = (szAlloc - (i64)sz*(i64)nBig)/LOOKASIDE_SMALL;
|
||||
}else if( sz>=LOOKASIDE_SMALL*2 ){
|
||||
nBig = szAlloc/(LOOKASIDE_SMALL+sz);
|
||||
- nSm = (szAlloc - sz*nBig)/LOOKASIDE_SMALL;
|
||||
+ nSm = (szAlloc - (i64)sz*(i64)nBig)/LOOKASIDE_SMALL;
|
||||
}else
|
||||
#endif /* SQLITE_OMIT_TWOSIZE_LOOKASIDE */
|
||||
if( sz>0 ){
|
||||
diff --git a/sqlite3.h b/sqlite3.h
|
||||
index 2618b37a7b..056511f577 100644
|
||||
--- a/sqlite3.h
|
||||
+++ b/sqlite3.h
|
||||
@@ -1974,13 +1974,16 @@ struct sqlite3_mem_methods {
|
||||
**
|
||||
** [[SQLITE_CONFIG_LOOKASIDE]] <dt>SQLITE_CONFIG_LOOKASIDE</dt>
|
||||
** <dd> ^(The SQLITE_CONFIG_LOOKASIDE option takes two arguments that determine
|
||||
-** the default size of lookaside memory on each [database connection].
|
||||
+** the default size of [lookaside memory] on each [database connection].
|
||||
** The first argument is the
|
||||
-** size of each lookaside buffer slot and the second is the number of
|
||||
-** slots allocated to each database connection.)^ ^(SQLITE_CONFIG_LOOKASIDE
|
||||
-** sets the <i>default</i> lookaside size. The [SQLITE_DBCONFIG_LOOKASIDE]
|
||||
-** option to [sqlite3_db_config()] can be used to change the lookaside
|
||||
-** configuration on individual connections.)^ </dd>
|
||||
+** size of each lookaside buffer slot ("sz") and the second is the number of
|
||||
+** slots allocated to each database connection ("cnt").)^
|
||||
+** ^(SQLITE_CONFIG_LOOKASIDE sets the <i>default</i> lookaside size.
|
||||
+** The [SQLITE_DBCONFIG_LOOKASIDE] option to [sqlite3_db_config()] can
|
||||
+** be used to change the lookaside configuration on individual connections.)^
|
||||
+** The [-DSQLITE_DEFAULT_LOOKASIDE] option can be used to change the
|
||||
+** default lookaside configuration at compile-time.
|
||||
+** </dd>
|
||||
**
|
||||
** [[SQLITE_CONFIG_PCACHE2]] <dt>SQLITE_CONFIG_PCACHE2</dt>
|
||||
** <dd> ^(The SQLITE_CONFIG_PCACHE2 option takes a single argument which is
|
||||
@@ -2210,24 +2213,43 @@ struct sqlite3_mem_methods {
|
||||
** <dt>SQLITE_DBCONFIG_LOOKASIDE</dt>
|
||||
** <dd> ^This option takes three additional arguments that determine the
|
||||
** [lookaside memory allocator] configuration for the [database connection].
|
||||
-** ^The first argument (the third parameter to [sqlite3_db_config()] is a
|
||||
+** <ol>
|
||||
+** <li><p>The first argument ("buf") is a
|
||||
** pointer to a memory buffer to use for lookaside memory.
|
||||
-** ^The first argument after the SQLITE_DBCONFIG_LOOKASIDE verb
|
||||
-** may be NULL in which case SQLite will allocate the
|
||||
-** lookaside buffer itself using [sqlite3_malloc()]. ^The second argument is the
|
||||
-** size of each lookaside buffer slot. ^The third argument is the number of
|
||||
-** slots. The size of the buffer in the first argument must be greater than
|
||||
-** or equal to the product of the second and third arguments. The buffer
|
||||
-** must be aligned to an 8-byte boundary. ^If the second argument to
|
||||
-** SQLITE_DBCONFIG_LOOKASIDE is not a multiple of 8, it is internally
|
||||
-** rounded down to the next smaller multiple of 8. ^(The lookaside memory
|
||||
+** The first argument may be NULL in which case SQLite will allocate the
|
||||
+** lookaside buffer itself using [sqlite3_malloc()].
|
||||
+** <li><P>The second argument ("sz") is the
|
||||
+** size of each lookaside buffer slot. Lookaside is disabled if "sz"
|
||||
+** is less than 8. The "sz" argument should be a multiple of 8 less than
|
||||
+** 65536. If "sz" does not meet this constraint, it is reduced in size until
|
||||
+** it does.
|
||||
+** <li><p>The third argument ("cnt") is the number of slots. Lookaside is disabled
|
||||
+** if "cnt"is less than 1. The "cnt" value will be reduced, if necessary, so
|
||||
+** that the product of "sz" and "cnt" does not exceed 2,147,418,112. The "cnt"
|
||||
+** parameter is usually chosen so that the product of "sz" and "cnt" is less
|
||||
+** than 1,000,000.
|
||||
+** </ol>
|
||||
+** <p>If the "buf" argument is not NULL, then it must
|
||||
+** point to a memory buffer with a size that is greater than
|
||||
+** or equal to the product of "sz" and "cnt".
|
||||
+** The buffer must be aligned to an 8-byte boundary.
|
||||
+** The lookaside memory
|
||||
** configuration for a database connection can only be changed when that
|
||||
** connection is not currently using lookaside memory, or in other words
|
||||
-** when the "current value" returned by
|
||||
-** [sqlite3_db_status](D,[SQLITE_DBSTATUS_LOOKASIDE_USED],...) is zero.
|
||||
+** when the value returned by [SQLITE_DBSTATUS_LOOKASIDE_USED] is zero.
|
||||
** Any attempt to change the lookaside memory configuration when lookaside
|
||||
** memory is in use leaves the configuration unchanged and returns
|
||||
-** [SQLITE_BUSY].)^</dd>
|
||||
+** [SQLITE_BUSY].
|
||||
+** If the "buf" argument is NULL and an attempt
|
||||
+** to allocate memory based on "sz" and "cnt" fails, then
|
||||
+** lookaside is silently disabled.
|
||||
+** <p>
|
||||
+** The [SQLITE_CONFIG_LOOKASIDE] configuration option can be used to set the
|
||||
+** default lookaside configuration at initialization. The
|
||||
+** [-DSQLITE_DEFAULT_LOOKASIDE] option can be used to set the default lookaside
|
||||
+** configuration at compile-time. Typical values for lookaside are 1200 for
|
||||
+** "sz" and 40 to 100 for "cnt".
|
||||
+** </dd>
|
||||
**
|
||||
** [[SQLITE_DBCONFIG_ENABLE_FKEY]]
|
||||
** <dt>SQLITE_DBCONFIG_ENABLE_FKEY</dt>
|
||||
@@ -0,0 +1,29 @@
|
||||
From d7f45414935e4ef6e3361f02a22876f1ee7a04aa Mon Sep 17 00:00:00 2001
|
||||
From: drh <>
|
||||
Date: Sun, 16 Feb 2025 10:57:25 +0000
|
||||
Subject: [PATCH] Add a typecast to avoid 32-bit integer overflow in the
|
||||
concat_ws() function with an enormous separator values and many arguments.
|
||||
|
||||
FossilOrigin-Name: 498e3f1cf57f164fbd8380e92bf91b9f26d6aa05d092fcd135d754abf1e5b1b5
|
||||
|
||||
CVE: CVE-2025-3277
|
||||
CVE: CVE-2025-29087
|
||||
Upstream-Status: Backport [https://sqlite.org/src/info/498e3f1cf57f164f]
|
||||
Signed-off-by: Peter Marko <peter.marko@siemens.com>
|
||||
---
|
||||
sqlite3.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/sqlite3.c b/sqlite3.c
|
||||
index 08c593e55c..24d0d954d9 100644
|
||||
--- a/sqlite3.c
|
||||
+++ b/sqlite3.c
|
||||
@@ -129594,7 +129594,7 @@ static void concatFuncCore(
|
||||
for(i=0; i<argc; i++){
|
||||
n += sqlite3_value_bytes(argv[i]);
|
||||
}
|
||||
- n += (argc-1)*nSep;
|
||||
+ n += (argc-1)*(i64)nSep;
|
||||
z = sqlite3_malloc64(n+1);
|
||||
if( z==0 ){
|
||||
sqlite3_result_error_nomem(context);
|
||||
@@ -0,0 +1,112 @@
|
||||
From a91c0d55011d06858726d4783fd16ed8ec71e793 Mon Sep 17 00:00:00 2001
|
||||
From: drh <>
|
||||
Date: Fri, 27 Jun 2025 19:02:21 +0000
|
||||
Subject: [PATCH] Raise an error right away if the number of aggregate terms in
|
||||
a query exceeds the maximum number of columns.
|
||||
|
||||
FossilOrigin-Name: 5508b56fd24016c13981ec280ecdd833007c9d8dd595edb295b984c2b487b5c8
|
||||
|
||||
CVE: CVE-2025-6965
|
||||
Upstream-Status: Backport [https://github.com/sqlite/sqlite/commit/c52e9d97d485a3eb168e3f8f3674a7bc4b419703]
|
||||
Signed-off-by: Roland Kovacs <roland.kovacs@est.tech>
|
||||
---
|
||||
sqlite3.c | 30 ++++++++++++++++++++++++++----
|
||||
1 file changed, 26 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/sqlite3.c b/sqlite3.c
|
||||
index 1ee8de4a85..5c7c126076 100644
|
||||
--- a/sqlite3.c
|
||||
+++ b/sqlite3.c
|
||||
@@ -15000,6 +15000,14 @@ typedef INT16_TYPE LogEst;
|
||||
#define LARGEST_UINT64 (0xffffffff|(((u64)0xffffffff)<<32))
|
||||
#define SMALLEST_INT64 (((i64)-1) - LARGEST_INT64)
|
||||
|
||||
+/*
|
||||
+** Macro SMXV(n) return the maximum value that can be held in variable n,
|
||||
+** assuming n is a signed integer type. UMXV(n) is similar for unsigned
|
||||
+** integer types.
|
||||
+*/
|
||||
+#define SMXV(n) ((((i64)1)<<(sizeof(n)*8-1))-1)
|
||||
+#define UMXV(n) ((((i64)1)<<(sizeof(n)*8))-1)
|
||||
+
|
||||
/*
|
||||
** Round up a number to the next larger multiple of 8. This is used
|
||||
** to force 8-byte alignment on 64-bit architectures.
|
||||
@@ -18785,7 +18793,7 @@ struct AggInfo {
|
||||
** from source tables rather than from accumulators */
|
||||
u8 useSortingIdx; /* In direct mode, reference the sorting index rather
|
||||
** than the source table */
|
||||
- u16 nSortingColumn; /* Number of columns in the sorting index */
|
||||
+ u32 nSortingColumn; /* Number of columns in the sorting index */
|
||||
int sortingIdx; /* Cursor number of the sorting index */
|
||||
int sortingIdxPTab; /* Cursor number of pseudo-table */
|
||||
int iFirstReg; /* First register in range for aCol[] and aFunc[] */
|
||||
@@ -18794,8 +18802,8 @@ struct AggInfo {
|
||||
Table *pTab; /* Source table */
|
||||
Expr *pCExpr; /* The original expression */
|
||||
int iTable; /* Cursor number of the source table */
|
||||
- i16 iColumn; /* Column number within the source table */
|
||||
- i16 iSorterColumn; /* Column number in the sorting index */
|
||||
+ int iColumn; /* Column number within the source table */
|
||||
+ int iSorterColumn; /* Column number in the sorting index */
|
||||
} *aCol;
|
||||
int nColumn; /* Number of used entries in aCol[] */
|
||||
int nAccumulator; /* Number of columns that show through to the output.
|
||||
@@ -115162,7 +115170,9 @@ static void findOrCreateAggInfoColumn(
|
||||
){
|
||||
struct AggInfo_col *pCol;
|
||||
int k;
|
||||
+ int mxTerm = pParse->db->aLimit[SQLITE_LIMIT_COLUMN];
|
||||
|
||||
+ assert( mxTerm <= SMXV(i16) );
|
||||
assert( pAggInfo->iFirstReg==0 );
|
||||
pCol = pAggInfo->aCol;
|
||||
for(k=0; k<pAggInfo->nColumn; k++, pCol++){
|
||||
@@ -115180,6 +115190,10 @@ static void findOrCreateAggInfoColumn(
|
||||
assert( pParse->db->mallocFailed );
|
||||
return;
|
||||
}
|
||||
+ if( k>mxTerm ){
|
||||
+ sqlite3ErrorMsg(pParse, "more than %d aggregate terms", mxTerm);
|
||||
+ k = mxTerm;
|
||||
+ }
|
||||
pCol = &pAggInfo->aCol[k];
|
||||
assert( ExprUseYTab(pExpr) );
|
||||
pCol->pTab = pExpr->y.pTab;
|
||||
@@ -115213,6 +115227,7 @@ fix_up_expr:
|
||||
if( pExpr->op==TK_COLUMN ){
|
||||
pExpr->op = TK_AGG_COLUMN;
|
||||
}
|
||||
+ assert( k <= SMXV(pExpr->iAgg) );
|
||||
pExpr->iAgg = (i16)k;
|
||||
}
|
||||
|
||||
@@ -115297,13 +115312,19 @@ static int analyzeAggregate(Walker *pWalker, Expr *pExpr){
|
||||
** function that is already in the pAggInfo structure
|
||||
*/
|
||||
struct AggInfo_func *pItem = pAggInfo->aFunc;
|
||||
+ int mxTerm = pParse->db->aLimit[SQLITE_LIMIT_COLUMN];
|
||||
+ assert( mxTerm <= SMXV(i16) );
|
||||
for(i=0; i<pAggInfo->nFunc; i++, pItem++){
|
||||
if( NEVER(pItem->pFExpr==pExpr) ) break;
|
||||
if( sqlite3ExprCompare(0, pItem->pFExpr, pExpr, -1)==0 ){
|
||||
break;
|
||||
}
|
||||
}
|
||||
- if( i>=pAggInfo->nFunc ){
|
||||
+ if( i>mxTerm ){
|
||||
+ sqlite3ErrorMsg(pParse, "more than %d aggregate terms", mxTerm);
|
||||
+ i = mxTerm;
|
||||
+ assert( i<pAggInfo->nFunc );
|
||||
+ }else if( i>=pAggInfo->nFunc ){
|
||||
/* pExpr is original. Make a new entry in pAggInfo->aFunc[]
|
||||
*/
|
||||
u8 enc = ENC(pParse->db);
|
||||
@@ -115357,6 +115378,7 @@ static int analyzeAggregate(Walker *pWalker, Expr *pExpr){
|
||||
*/
|
||||
assert( !ExprHasProperty(pExpr, EP_TokenOnly|EP_Reduced) );
|
||||
ExprSetVVAProperty(pExpr, EP_NoReduce);
|
||||
+ assert( i <= SMXV(pExpr->iAgg) );
|
||||
pExpr->iAgg = (i16)i;
|
||||
pExpr->pAggInfo = pAggInfo;
|
||||
return WRC_Prune;
|
||||
12
sources/poky/meta/recipes-support/sqlite/sqlite3_3.45.3.bb
Normal file
12
sources/poky/meta/recipes-support/sqlite/sqlite3_3.45.3.bb
Normal file
@@ -0,0 +1,12 @@
|
||||
require sqlite3.inc
|
||||
|
||||
LICENSE = "PD"
|
||||
LIC_FILES_CHKSUM = "file://sqlite3.h;endline=11;md5=786d3dc581eff03f4fd9e4a77ed00c66"
|
||||
|
||||
SRC_URI = "http://www.sqlite.org/2024/sqlite-autoconf-${SQLITE_PV}.tar.gz \
|
||||
file://CVE-2025-3277.patch \
|
||||
file://CVE-2025-29088.patch \
|
||||
file://CVE-2025-6965.patch \
|
||||
"
|
||||
SRC_URI[sha256sum] = "b2809ca53124c19c60f42bf627736eae011afdcc205bb48270a5ee9a38191531"
|
||||
|
||||
Reference in New Issue
Block a user