]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Add a typecast to avoid 32-bit integer overflow in the concat_ws()
authordrh <>
Sun, 16 Feb 2025 11:23:00 +0000 (11:23 +0000)
committerdrh <>
Sun, 16 Feb 2025 11:23:00 +0000 (11:23 +0000)
function with an enormous separator values and many arguments.

FossilOrigin-Name: cf6b162de534d4f5a5a02064f0618a84b70d0aa87a541cf149dacff34be2d3ab

manifest
manifest.uuid
src/func.c

index 41832c363f90ea031177eba4d023e6ca83bdccfb..548029266c20f0b97fca6e8bce836fb943990847 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Remove\sthe\sautoconf/tea/configure.ac\scheck\sfrom\stool/srctree-check.tcl\nsince\sthat\sfile\sno\slonger\sexists.
-D 2025-02-16T11:20:00.580
+C Add\sa\stypecast\sto\savoid\s32-bit\sinteger\soverflow\sin\sthe\sconcat_ws()\nfunction\swith\san\senormous\sseparator\svalues\sand\smany\sarguments.
+D 2025-02-16T11:23:00.695
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F LICENSE.md e108e1e69ae8e8a59e93c455654b8ac9356a11720d3345df2a4743e9590fb20d
@@ -733,7 +733,7 @@ F src/delete.c 03a77ba20e54f0f42ebd8eddf15411ed6bdb06a2c472ac4b6b336521bf7cea42
 F src/expr.c 8705be31ee713aaa43c97d91399db09f16ee41b88250406eb99de6b47f550a98
 F src/fault.c 460f3e55994363812d9d60844b2a6de88826e007
 F src/fkey.c 928ed2517e8732113d2b9821aa37af639688d752f4ea9ac6e0e393d713eeb76f
-F src/func.c 0712a5b03fdfc8af0cda6d076bfe231b66388d3d5a28b46dc1a94b90d41cac6a
+F src/func.c 1ab83fd94f97af9797bdf1027169e3e19482fce06b090c3acceb4bf92ae452cd
 F src/global.c a19e4b1ca1335f560e9560e590fc13081e21f670643367f99cb9e8f9dc7d615b
 F src/hash.c 9ee4269fb1d6632a6fecfb9479c93a1f29271bddbbaf215dd60420bcb80c7220
 F src/hash.h 3340ab6e1d13e725571d7cee6d3e3135f0779a7d8e76a9ce0a85971fa3953c51
@@ -2209,8 +2209,9 @@ F tool/version-info.c 3b36468a90faf1bbd59c65fd0eb66522d9f941eedd364fabccd7227350
 F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee87c1b31a7
 F tool/warnings.sh 49a486c5069de041aedcbde4de178293e0463ae9918ecad7539eedf0ec77a139
 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
-P d5c0be36fca18e15938ce9dc9c13bf79497d013623de85e23bb18e0940b56eba
-R 96f42463ffc073be29f85da4dbe2e1f2
+P ff879e8e7d0c153ddc241bd8425703b019cdc143b401b915a84ea8c78759b09b
+Q +498e3f1cf57f164fbd8380e92bf91b9f26d6aa05d092fcd135d754abf1e5b1b5
+R 202f80ba99354677debadbf9954e01fc
 U drh
-Z 7e2e5275d1bc5b14c28ebde5e041a0d7
+Z 4c0af4eb8dee0d873d8a652a4fb6ea5d
 # Remove this line to create a well-formed Fossil manifest.
index 47f57e6875cc5a4f9b414fc8f97e0258d72ffc7d..572f63e107fbb27cf349d6e092ad85f471d061ef 100644 (file)
@@ -1 +1 @@
-ff879e8e7d0c153ddc241bd8425703b019cdc143b401b915a84ea8c78759b09b
+cf6b162de534d4f5a5a02064f0618a84b70d0aa87a541cf149dacff34be2d3ab
index e8cd174e42dcc4b0c83df298e5c428c8ed824987..5e5b715f278f2fc8aa7280a9dc4cec4e57d51271 100644 (file)
@@ -1571,7 +1571,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);