]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Additional checks for OOM conditions.
authordrh <>
Thu, 20 Nov 2025 02:03:57 +0000 (02:03 +0000)
committerdrh <>
Thu, 20 Nov 2025 02:03:57 +0000 (02:03 +0000)
FossilOrigin-Name: 8fafd4988bf1fa1aa799c2834dd31bebdd52e7ae8e68c0197ccb497eb9b1e5f6

manifest
manifest.uuid
src/alter.c

index 5225c6f32a4bdcc2b73b265d1499de40849f593e..a26e7d89c66944b1f76b830a78af68531b8876bc 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Mark\san\sunreachable\sbranch\swith\sNEVER().
-D 2025-11-20T00:56:28.994
+C Additional\schecks\sfor\sOOM\sconditions.
+D 2025-11-20T02:03:57.963
 F .fossil-settings/binary-glob 61195414528fb3ea9693577e1980230d78a1f8b0a54c78cf1b9b24d0a409ed6a x
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
@@ -666,7 +666,7 @@ F mptest/multiwrite01.test dab5c5f8f9534971efce679152c5146da265222d
 F sqlite.pc.in 42b7bf0d02e08b9e77734a47798d1a55a9e0716b
 F sqlite3.1 1b9c24374a85dfc7eb8fa7c4266ee0db4f9609cceecfc5481cd8307e5af04366
 F sqlite3.pc.in e6dee284fba59ef500092fdc1843df3be8433323a3733c91da96690a50a5b398
-F src/alter.c 607ad2410e686d77cd1c899ad9fd626b4ad01ac36e55b7c3ca7abdad67e0d5c5
+F src/alter.c d7151775cf5d32d0eef917f5058791c571417fd2852f4ad4e7a29748098c6503
 F src/analyze.c 03bcfc083fc0cccaa9ded93604e1d4244ea245c17285d463ef6a60425fcb247d
 F src/attach.c 9af61b63b10ee702b1594ecd24fb8cea0839cfdb6addee52fba26fa879f5db9d
 F src/auth.c 54ab9c6c5803b47c0d45b76ce27eff22a03b4b1f767c5945a3a4eb13aa4c78dc
@@ -2177,8 +2177,8 @@ F tool/version-info.c 33d0390ef484b3b1cb685d59362be891ea162123cea181cb8e6d2cf6dd
 F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee87c1b31a7
 F tool/warnings.sh d924598cf2f55a4ecbc2aeb055c10bd5f48114793e7ba25f9585435da29e7e98
 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
-P 4fd5dfa215f14b20ddfc55904acbcc9bc9fd2123bb06fff72ef76efa17304566
-R 3b2daa38d62c3252645cd817d8e6a2a3
+P df2259a32fd65986eafceb2c551e6e1661927f1f5b18dbb97c59d9627279eea0
+R f7bd098503221c71a258f97d8f310236
 U drh
-Z cc535ab38365d06b32d133d1a194d52d
+Z 20fc64fb6a35782adf034c6413836124
 # Remove this line to create a well-formed Fossil manifest.
index cb0629e928074c469f22dca373defa3a68a725ca..12091d76e689d886dac3190cf11dd04bb0ffc1f0 100644 (file)
@@ -1 +1 @@
-df2259a32fd65986eafceb2c551e6e1661927f1f5b18dbb97c59d9627279eea0
+8fafd4988bf1fa1aa799c2834dd31bebdd52e7ae8e68c0197ccb497eb9b1e5f6
index 197119656ef023cb928d3e48dbffa03edbfdc8b5..6a81decd5ce3450f0e725fdca2f15ade79b34b6d 100644 (file)
@@ -2477,6 +2477,8 @@ static int quotedCompare(
 static int skipCreateTable(sqlite3_context *ctx, const u8 *zSql, int *piOff){
   int iOff = 0;
 
+  if( zSql==0 ) return SQLITE_ERROR;
+
   /* Jump past the "CREATE TABLE" bit. */
   while( 1 ){
     int t = 0;
@@ -2519,6 +2521,8 @@ static void dropConstraintFunc(
   int t = 0;
   UNUSED_PARAMETER(NotUsed);
 
+  if( zSql==0 ) return;
+
   /* Jump past the "CREATE TABLE" bit. */
   if( skipCreateTable(ctx, zSql, &iOff) ) return;
 
@@ -2942,6 +2946,7 @@ static void findConstraintFunc(
   zSql = sqlite3_value_text(argv[0]);
   zCons = sqlite3_value_text(argv[1]);
 
+  if( zSql==0 || zCons==0 ) return;
   while( t!=TK_LP && t!=TK_ILLEGAL ){
     iOff += sqlite3GetToken(&zSql[iOff], &t);
   }