aboutsummaryrefslogtreecommitdiff
path: root/src/vdbeapi.c
diff options
context:
space:
mode:
authordan <Dan Kennedy>2025-02-24 10:52:34 +0000
committerdan <Dan Kennedy>2025-02-24 10:52:34 +0000
commitb081a391cefb6cd84b6c11f7230ae52f9e5e77d8 (patch)
tree3f0741ebe9652ba1457b690d4e4608f60de7a892 /src/vdbeapi.c
parent8bbce21ed7d9d336e2c366d5adb8300f20c7b0f2 (diff)
parentc071c47b51f39e2a186dbb87e1b7347d5590986d (diff)
downloadsqlite-b081a391cefb6cd84b6c11f7230ae52f9e5e77d8.tar.gz
sqlite-b081a391cefb6cd84b6c11f7230ae52f9e5e77d8.zip
Merge latest changes from trunk into this branch.
FossilOrigin-Name: 55324d1c862c42b95251a398c40930d9fa94debb1aec7d3d0ae734d6b17b4a59
Diffstat (limited to 'src/vdbeapi.c')
-rw-r--r--src/vdbeapi.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/vdbeapi.c b/src/vdbeapi.c
index 0dc09d501..31880d85b 100644
--- a/src/vdbeapi.c
+++ b/src/vdbeapi.c
@@ -2233,7 +2233,9 @@ int sqlite3_preupdate_old(sqlite3 *db, int iIdx, sqlite3_value **ppValue){
Column *pCol = &p->pTab->aCol[iIdx];
if( pCol->iDflt>0 ){
if( p->apDflt==0 ){
- int nByte = sizeof(sqlite3_value*)*p->pTab->nCol;
+ int nByte;
+ assert( sizeof(sqlite3_value*)*UMXV(p->pTab->nCol) < 0x7fffffff );
+ nByte = sizeof(sqlite3_value*)*p->pTab->nCol;
p->apDflt = (sqlite3_value**)sqlite3DbMallocZero(db, nByte);
if( p->apDflt==0 ) goto preupdate_old_out;
}
@@ -2383,7 +2385,8 @@ int sqlite3_preupdate_new(sqlite3 *db, int iIdx, sqlite3_value **ppValue){
*/
assert( p->op==SQLITE_UPDATE );
if( !p->aNew ){
- p->aNew = (Mem *)sqlite3DbMallocZero(db, sizeof(Mem) * p->pCsr->nField);
+ assert( sizeof(Mem)*UMXV(p->pCsr->nField) < 0x7fffffff );
+ p->aNew = (Mem *)sqlite3DbMallocZero(db, sizeof(Mem)*p->pCsr->nField);
if( !p->aNew ){
rc = SQLITE_NOMEM;
goto preupdate_new_out;