]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Add a few asserts into *Put*() functions to catch calls that might cause an address...
authorlarrybr <larrybr@noemail.net>
Tue, 14 Nov 2023 03:24:43 +0000 (03:24 +0000)
committerlarrybr <larrybr@noemail.net>
Tue, 14 Nov 2023 03:24:43 +0000 (03:24 +0000)
FossilOrigin-Name: 2341f9b6a48634a94e90e849f579afd07d398c3e0304efccf07d18b41a0e40aa

ext/consio/console_io.c
manifest
manifest.uuid

index 379059b807bf97405066dd267a8b2ce9556ad64d..27727f2a8f0fde2f6eb84252e4a186c856b054d7 100755 (executable)
@@ -371,6 +371,7 @@ SQLITE_INTERNAL_LINKAGE int oPrintfUtf8(const char *zFormat, ...){
 #else
   getEmitStreamInfo(1, &pst, &pfOut);
 #endif
+  assert(zFormat!=0);
   va_start(ap, zFormat);
 #if SHELL_CON_TRANSLATE
   if( pstReachesConsole(ppst) ){
@@ -395,6 +396,7 @@ SQLITE_INTERNAL_LINKAGE int ePrintfUtf8(const char *zFormat, ...){
 #else
   getEmitStreamInfo(2, &pst, &pfErr);
 #endif
+  assert(zFormat!=0);
   va_start(ap, zFormat);
 #if SHELL_CON_TRANSLATE
   if( pstReachesConsole(ppst) ){
@@ -418,7 +420,7 @@ SQLITE_INTERNAL_LINKAGE int fPrintfUtf8(FILE *pfO, const char *zFormat, ...){
 #else
   getEmitStreamInfo(0, &pst, &pfO);
 #endif
-
+  assert(zFormat!=0);
   va_start(ap, zFormat);
 #if SHELL_CON_TRANSLATE
   if( pstReachesConsole(ppst) ){
@@ -442,6 +444,7 @@ SQLITE_INTERNAL_LINKAGE int fPutsUtf8(const char *z, FILE *pfO){
 #else
   getEmitStreamInfo(0, &pst, &pfO);
 #endif
+  assert(z!=0);
 #if SHELL_CON_TRANSLATE
   if( pstReachesConsole(ppst) ){
     int rv;
@@ -465,6 +468,7 @@ SQLITE_INTERNAL_LINKAGE int ePutsUtf8(const char *z){
 #else
   getEmitStreamInfo(2, &pst, &pfErr);
 #endif
+  assert(z!=0);
 #if SHELL_CON_TRANSLATE
   if( pstReachesConsole(ppst) ) return conZstrEmit(ppst, z, (int)strlen(z));
   else {
@@ -483,6 +487,7 @@ SQLITE_INTERNAL_LINKAGE int oPutsUtf8(const char *z){
 #else
   getEmitStreamInfo(1, &pst, &pfOut);
 #endif
+  assert(z!=0);
 #if SHELL_CON_TRANSLATE
   if( pstReachesConsole(ppst) ) return conZstrEmit(ppst, z, (int)strlen(z));
   else {
@@ -502,6 +507,7 @@ SQLITE_INTERNAL_LINKAGE int oPutsUtf8(const char *z){
 static const char* zSkipValidUtf8(const char *z, int nAccept, long ccm){
   int ng = (nAccept<0)? -nAccept : 0;
   const char *pcLimit = (nAccept>=0)? z+nAccept : 0;
+  assert(z!=0);
   while( (pcLimit)? (z<pcLimit) : (ng-- > 0) ){
     char c = *z;
     if( (c & 0x80) == 0 ){
index c035bcc9643e15f8a93ac4b955ad18da3de984da..187de57e5a804e8505ae4d0f78b6046447f2298b 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Cure\smany\swarnings\sfrom\sgcc,\sclang\sand\sCL.exe.
-D 2023-11-13T15:59:27.593
+C Add\sa\sfew\sasserts\sinto\s*Put*()\sfunctions\sto\scatch\scalls\sthat\smight\scause\san\saddress\sfault.
+D 2023-11-14T03:24:43.961
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@ -50,7 +50,7 @@ F ext/README.md fd5f78013b0a2bc6f0067afb19e6ad040e89a10179b4f6f03eee58fac5f169bd
 F ext/async/README.txt e12275968f6fde133a80e04387d0e839b0c51f91
 F ext/async/sqlite3async.c 6f247666b495c477628dd19364d279c78ea48cd90c72d9f9b98ad1aff3294f94
 F ext/async/sqlite3async.h 46b47c79357b97ad85d20d2795942c0020dc20c532114a49808287f04aa5309a
-F ext/consio/console_io.c b59dac1eb138339fcef6da8feae2f3a9a4397b7362ef52b4dca630ef5f848f23 x
+F ext/consio/console_io.c baffbeb5e73dcd3191c677bbcd5266c35891c17f87930cd89cf2463b7ec2da09 x
 F ext/consio/console_io.h 515d27ca9e5a5d36e12ff2b85977b5931fdeba0ce142f40178d94dc8638b4c81
 F ext/expert/README.md b321c2762bb93c18ea102d5a5f7753a4b8bac646cb392b3b437f633caf2020c3
 F ext/expert/expert.c d548d603a4cc9e61f446cc179c120c6713511c413f82a4a32b1e1e69d3f086a4
@@ -2142,8 +2142,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 08996f4fd52f5742e77225ce3da2ac43ea5cc44bb0d8d21126b6d624273842a5
-R ab417e4721f6826c6db3c6522006d6a5
+P 29ea2a3aadd34facc45a2e9f9a567bac16fca76beb019b879e2611433c85bbb3
+R 8876fea59629c4e62a560a6743807241
 U larrybr
-Z 401b90e437fbd22102bf23dbdae3a8b4
+Z 00b6c0e6cfeef68150271d56dd5abcd0
 # Remove this line to create a well-formed Fossil manifest.
index 45b8bd6907161d8819cf708be96aaaf95e3c5988..ca4099ba5e75d2d2570ffb2c2d4e38332536fc51 100644 (file)
@@ -1 +1 @@
-29ea2a3aadd34facc45a2e9f9a567bac16fca76beb019b879e2611433c85bbb3
\ No newline at end of file
+2341f9b6a48634a94e90e849f579afd07d398c3e0304efccf07d18b41a0e40aa
\ No newline at end of file