]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Make use of the C99 flexible array feature, when available, so that
authordrh <>
Sat, 15 Mar 2025 19:55:19 +0000 (19:55 +0000)
committerdrh <>
Sat, 15 Mar 2025 19:55:19 +0000 (19:55 +0000)
the -fsanitize=bounds-strict option can be used, when available.
[forum:/forumpost/311dbf9a1cadfae6|Forum thread 311dbf9a1c].

FossilOrigin-Name: d4307a0d43f42e96ec06ad2c1d8d0f5c8ecae759bae8231b1998633089809f49

1  2 
auto.def
autosetup/proj.tcl
ext/fts3/fts3_expr.c
main.mk
manifest
manifest.uuid

diff --cc auto.def
Simple merge
Simple merge
index 1372cd933bc8654300b110c730755b1b3b0888a6,55943c271fad433f30efe09fd54fc49036895a88..681d4e86259aa3ac228e57ce7b67cdc23b329d3e
@@@ -212,19 -202,7 +212,18 @@@ static int getNextToken
  
      rc = pModule->xNext(pCursor, &zToken, &nToken, &iStart, &iEnd, &iPosition);
      if( rc==SQLITE_OK ){
 +      /* Check that this tokenization did not gobble up any " characters. Or,
 +      ** if enable_parenthesis is true, that it did not gobble up any 
 +      ** open or close parenthesis characters either. If it did, call
 +      ** getNextToken() again, but pass only that part of the input buffer
 +      ** up to the first such character.  */
 +      int iBarred = findBarredChar(z, iEnd);
 +      if( iBarred>=0 ){
 +        pModule->xClose(pCursor);
 +        return getNextToken(pParse, iCol, z, iBarred, ppExpr, pnConsumed);
 +      }
 +
-       nByte = sizeof(Fts3Expr) + sizeof(Fts3Phrase) + nToken;
+       nByte = sizeof(Fts3Expr) + SZ_FTS3PHRASE(1) + nToken;
        pRet = (Fts3Expr *)sqlite3Fts3MallocZero(nByte);
        if( !pRet ){
          rc = SQLITE_NOMEM;
diff --cc main.mk
Simple merge
diff --cc manifest
index 07cc260a22160fe277dbebbfaae3d20d013a27f0,aa813d962f5abd6c9e8ad155d90568e161ba9638..3abd0f8344e0c2e09e03fbdc6d331f7fea2f1388
+++ b/manifest
@@@ -1,5 -1,5 +1,5 @@@
- C Speed\sup\sparsing\sof\svery\slong\sfts3\squery\sexpressions.
- D 2025-03-15T16:58:39.639
 -C Work\saround\scompilers\sthat\sdo\snot\sunderstand\sflexible\sarrays,\sin\sthe\nrecovery\sextension\sand\sin\sthe\sfuzzcheck\stest\smodule.
 -D 2025-03-15T19:00:46.484
++C Make\suse\sof\sthe\sC99\sflexible\sarray\sfeature,\swhen\savailable,\sso\sthat\nthe\s-fsanitize=bounds-strict\soption\scan\sbe\sused,\swhen\savailable.\n[forum:/forumpost/311dbf9a1cadfae6|Forum\sthread\s311dbf9a1c].
++D 2025-03-15T19:55:19.890
  F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
  F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
  F LICENSE.md e108e1e69ae8e8a59e93c455654b8ac9356a11720d3345df2a4743e9590fb20d
@@@ -14,7 -14,7 +14,7 @@@ F art/sqlite370.eps aa97a671332b432a54e
  F art/sqlite370.ico af56c1d00fee7cd4753e8631ed60703ed0fc6e90
  F art/sqlite370.jpg d512473dae7e378a67e28ff96a34da7cb331def2
  F art/sqlite370.svg 40b7e2fe8aac3add5d56dd86ab8d427a4eca5bcb3fe4f8946cb3794e1821d531
- F auto.def 16e64dacd2c556b67df0c33fa08d564224bdb3137756679f39c45ed389b5a07b
 -F auto.def 3eae53b31c798490a4af13ab8f14948f176c742f4778cc58d8b1f6d6d2e01a62
++F auto.def 619383263dfd0ee31df6a9d3e9828f65943d9fbcd274084046680641e5de53cb
  F autoconf/Makefile.fallback 22fe523eb36dfce31e0f6349f782eb084e86a5620b2b0b4f84a2d6133f53f5ac
  F autoconf/Makefile.in 6c98c82f52aa27a5c586080cf7c61c811174c2b6d8b8de33fd657d78d541dd7d
  F autoconf/Makefile.msc 5bc67d3912444c40c6f96d003e5c90663e51abb83d204a520110b1b2038dcd8b
@@@ -49,8 -49,8 +49,8 @@@ F autosetup/cc-shared.tcl 4f024e94a47f4
  F autosetup/cc.tcl c0fcc50ca91deff8741e449ddad05bcd08268bc31177e613a6343bbd1fd3e45f
  F autosetup/jimsh0.c a57c16e65dcffc9c76e496757cb3f7fb47e01ecbd1631a0a5e01751fc856f049
  F autosetup/pkg-config.tcl 4e635bf39022ff65e0d5434339dd41503ea48fc53822c9c5bde88b02d3d952ba
- F autosetup/proj.tcl f8b5402faf3ee3fe9b10b946a085fc826184d26df1c17b5380e90edf89ea5fb6
 -F autosetup/proj.tcl 409dd44d07b2bc9ee98778619f6c0d0123e79f16a0dc726463e037d10f45745e
 -F autosetup/sqlite-config.tcl 831985320d98002fcd5ea064cae8a49f8afcd9685d83178ef1ebb79189b5045c
++F autosetup/proj.tcl bacaf1ed827067942a6d33f2a5c95bd649ceacae2a8ddc584d0f74456fb9167e
 +F autosetup/sqlite-config.tcl a7f4d093d63bc1da9ec3d44f392f377ce4c86aa7e48532ae51619e55558f5fbe
  F autosetup/system.tcl 51d4be76cd9a9074704b584e5c9cbba616202c8468cf9ba8a4f8294a7ab1dba9
  F configure 9a00b21dfd13757bbfb8d89b30660a89ec1f8f3a79402b8f9f9b6fc475c3303a x
  F contrib/sqlitecon.tcl eb4c6578e08dd353263958da0dc620f8400b869a50d06e271ab0be85a51a08d3
@@@ -80,9 -80,9 +80,9 @@@ F ext/fts3/README.tokenizers b92bdeb8b4
  F ext/fts3/README.txt 8c18f41574404623b76917b9da66fcb0ab38328d
  F ext/fts3/fts3.c fd2a8642fa4701ef5dd6bce7947ecb3c7ae472e1d44022772454a8b74a13155d
  F ext/fts3/fts3.h 3a10a0af180d502cecc50df77b1b22df142817fe
- F ext/fts3/fts3Int.h 75b9cf37c93d3c56d8e569d64527c927cb54a5279afb3823740ca1e29e481c15
+ F ext/fts3/fts3Int.h ad51347fa5a5a49f6c3bd40a961eafd08f1e410f60b64dea06f115697a2ad9fe
  F ext/fts3/fts3_aux.c 7eab82a9cf0830f6551ba3abfdbe73ed39e322a4d3940ee82fbf723674ecd9f3
- F ext/fts3/fts3_expr.c b8ff0d3775f33eddae559b444df2000d48768d7d9bdb642e3f6434c9f2543ffc
 -F ext/fts3/fts3_expr.c 8a20522514c6e93c2935e90b7d269a8819111a6a17a5a91513cd4efcc37c1757
++F ext/fts3/fts3_expr.c 5c13796638d8192c388777166075cdc8bc4b6712024cd5b72c31acdbefce5984
  F ext/fts3/fts3_hash.c d9dba473741445789330c7513d4f65737c92df23c3212784312931641814672a
  F ext/fts3/fts3_hash.h 39cf6874dc239d6b4e30479b1975fe5b22a3caaf
  F ext/fts3/fts3_icu.c 305ce7fb6036484085b5556a9c8e62acdc7763f0f4cdf5fd538212a9f3720116
@@@ -705,7 -705,7 +705,7 @@@ F ext/wasm/tests/opfs/sahpool/sahpool-p
  F ext/wasm/tests/opfs/sahpool/sahpool-worker.js bd25a43fc2ab2d1bafd8f2854ad3943ef673f7c3be03e95ecf1612ff6e8e2a61
  F ext/wasm/wasmfs.make 68999f5bd8c489239592d59a420f8c627c99169bbd6fa16a404751f757b9f702
  F magic.txt 5ade0bc977aa135e79e3faaea894d5671b26107cc91e70783aa7dc83f22f3ba0
- F main.mk 88af9562d8f4d921e37ffa4d18f59d6d3749f357c7b876393d37298ec78f8110
 -F main.mk 09d801f71ac6e84dd6f6afda009b76c2a712cb02edac50c4bcfdae1027dfb4da
++F main.mk e15a567c0bcc1aed49d53944c92a30705e77d21be087cbc0f7359cf1bddb31c8
  F mptest/config01.test 3c6adcbc50b991866855f1977ff172eb6d901271
  F mptest/config02.test 4415dfe36c48785f751e16e32c20b077c28ae504
  F mptest/crash01.test 61e61469e257df0850df4293d7d4d6c2af301421
@@@ -2213,8 -2213,8 +2213,9 @@@ F tool/version-info.c 3b36468a90faf1bbd
  F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee87c1b31a7
  F tool/warnings.sh 49a486c5069de041aedcbde4de178293e0463ae9918ecad7539eedf0ec77a139
  F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
- P 8afb8bbce8654d6f76207fb136e79dc52b6724a71eae82a4c098690a68eb75a1
- R 1bd8f3cfa90570231383a500e0910fe3
- U dan
- Z 1c83f58e6b1181c1bb790bbf7879f1cb
 -P 8a91aeca60548d5cd19add128cf65b9c3815c9103b1ef8ff6bc02711b6d709de
 -R 1db0ab70ab59a8097f7bb0d50c768431
++P 2dd5b6895a3b23c2b9cbf0c1c1e802faf8f2b41ef60819eea25d609755266e64 f101c46cf83e532fd33034abccba496bf395ef10c161af003211614d6581d5eb
++R cffcee5ac5b13fdb08ee088881970bf2
++T +closed f101c46cf83e532fd33034abccba496bf395ef10c161af003211614d6581d5eb
+ U drh
 -Z 9641d2a6129bd2783700fa8c8a1376d8
++Z 5f005a89032955065b39a2e143d5c279
  # Remove this line to create a well-formed Fossil manifest.
diff --cc manifest.uuid
index a2320ead9e384ac9fd7f43359e25238cd882df92,e5551412edf0d8b908d29055af5432e60723895a..d6e3fced3adfabaa4b8569c315b816750f10d9ff
@@@ -1,1 -1,1 +1,1 @@@
- 2dd5b6895a3b23c2b9cbf0c1c1e802faf8f2b41ef60819eea25d609755266e64
 -f101c46cf83e532fd33034abccba496bf395ef10c161af003211614d6581d5eb
++d4307a0d43f42e96ec06ad2c1d8d0f5c8ecae759bae8231b1998633089809f49