]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Use sqlite3_result_int64() instead of sqlite3_result_int() when returning
authordrh <>
Fri, 2 Dec 2022 15:31:47 +0000 (15:31 +0000)
committerdrh <>
Fri, 2 Dec 2022 15:31:47 +0000 (15:31 +0000)
potentially large values from the DBSTAT virtual table, to avoid integer
overflows in the result.
[forum:/forumpost/ada2ab044f|Forum post ada2ab044f].

FossilOrigin-Name: 5652154a8c93cf3b1ff6c2e55e94abbe995b0bb625f733461df20e006c2f13f8

manifest
manifest.uuid
src/dbstat.c

index 026dcfc9cc0662f101f65fd11bec178f549a35bb..b6ab81295328b900752ee143a9c1f0893d61ee3f 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Minor\stouchups\sto\sthe\sJS\stest\sindex\spage\sand\stest\sserver\spush\srules.
-D 2022-12-02T11:35:21.811
+C Use\ssqlite3_result_int64()\sinstead\sof\ssqlite3_result_int()\swhen\sreturning\npotentially\slarge\svalues\sfrom\sthe\sDBSTAT\svirtual\stable,\sto\savoid\sinteger\noverflows\sin\sthe\sresult.\n[forum:/forumpost/ada2ab044f|Forum\spost\sada2ab044f].
+D 2022-12-02T15:31:47.541
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@ -593,7 +593,7 @@ F src/complete.c a3634ab1e687055cd002e11b8f43eb75c17da23e
 F src/ctime.c 20507cc0b0a6c19cd882fcd0eaeda32ae6a4229fb4b024cfdf3183043d9b703d
 F src/date.c 94ce83b4cd848a387680a5f920c9018c16655db778c4d36525af0a0f34679ac5
 F src/dbpage.c f1a87f4ebcf22284e0aaf0697862f4ccfc120dcd6db3d8dfa3b049b2580c01d8
-F src/dbstat.c 861e08690fcb0f2ee1165eff0060ea8d4f3e2ea10f80dab7d32ad70443a6ff2d
+F src/dbstat.c a56a7ad1163a9888d46cd5820be2e65354fb1aa04ed6909f7c3e5831e0ee2c29
 F src/delete.c 86573edae75e3d3e9a8b590d87db8e47222103029df4f3e11fa56044459b514e
 F src/expr.c 9e7fadc664b938c18f006be0d4f6669888f9302756ee204420c7eccaed5435a6
 F src/fault.c 460f3e55994363812d9d60844b2a6de88826e007
@@ -2065,8 +2065,8 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
 F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P 758112460fb624198a144ed7d8d2324497fa72a2eee80010bd22b621e064b389
-R 7335100c09b3966256d4f515791e8509
-U stephan
-Z 82fdbc046c1724ee06335f4931485b56
+P 0881f3e92364b3dc81443220451e853c0763efaf97653a6348bc39bd9bdb23ad
+R e242bef08302ff1ff3602cd93b1159c9
+U drh
+Z e49db422920b594adc6e6d22717359b3
 # Remove this line to create a well-formed Fossil manifest.
index b5b97e7e1c80684f9bf6bef241073742b371d1b6..19414a7f617ad7150e43d37f2d079f7b09150ef3 100644 (file)
@@ -1 +1 @@
-0881f3e92364b3dc81443220451e853c0763efaf97653a6348bc39bd9bdb23ad
\ No newline at end of file
+5652154a8c93cf3b1ff6c2e55e94abbe995b0bb625f733461df20e006c2f13f8
\ No newline at end of file
index bb88a76f4081a61ced4112f5c97e152b4c60f2d1..fdef913f8864cc4171a5b37f71fcff86e23cd57a 100644 (file)
@@ -824,16 +824,16 @@ static int statColumn(
       }
       break;
     case 4:            /* ncell */
-      sqlite3_result_int(ctx, pCsr->nCell);
+      sqlite3_result_int64(ctx, pCsr->nCell);
       break;
     case 5:            /* payload */
-      sqlite3_result_int(ctx, pCsr->nPayload);
+      sqlite3_result_int64(ctx, pCsr->nPayload);
       break;
     case 6:            /* unused */
-      sqlite3_result_int(ctx, pCsr->nUnused);
+      sqlite3_result_int64(ctx, pCsr->nUnused);
       break;
     case 7:            /* mx_payload */
-      sqlite3_result_int(ctx, pCsr->nMxPayload);
+      sqlite3_result_int64(ctx, pCsr->nMxPayload);
       break;
     case 8:            /* pgoffset */
       if( !pCsr->isAgg ){
@@ -841,7 +841,7 @@ static int statColumn(
       }
       break;
     case 9:            /* pgsize */
-      sqlite3_result_int(ctx, pCsr->szPage);
+      sqlite3_result_int64(ctx, pCsr->szPage);
       break;
     case 10: {         /* schema */
       sqlite3 *db = sqlite3_context_db_handle(ctx);