From 8fa6206bc4d9364951aeb6bf88e02303c0309b85 Mon Sep 17 00:00:00 2001 From: drh <> Date: Sat, 18 Jun 2022 10:26:12 +0000 Subject: [PATCH] In the --query-invariants option of fuzzcheck, correctly deal with OOMs causing the return value of sqlite3_column_name() to be NULL. FossilOrigin-Name: eabbee4a51bc1a865bddee890004ff3a1c9cc6b797b21f73e908642e154cef50 --- manifest | 12 ++++++------ manifest.uuid | 2 +- test/fuzzinvariants.c | 1 + 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/manifest b/manifest index 41d17a7ad1..35b3074eb9 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Fix\sthe\sOP_Concat\soperator\ssuch\sthat\swhen\sconcatenating\sa\sBLOB\swith\san\nodd\snumber\sof\sbytes\son\sa\sdatabase\sthat\sis\sUTF16,\sthe\ssize\sof\sthe\sresulting\nstring\sis\sreduced\sto\sa\smultiple\sof\stwo. -D 2022-06-17T21:31:30.484 +C In\sthe\s--query-invariants\soption\sof\sfuzzcheck,\scorrectly\sdeal\swith\sOOMs\ncausing\sthe\sreturn\svalue\sof\ssqlite3_column_name()\sto\sbe\sNULL. +D 2022-06-18T10:26:12.032 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724 @@ -1097,7 +1097,7 @@ F test/fuzzdata8.db ca9a97f401b06b0d5376139ec7e1f9e773e13345a9a2d9ccc0032cdbfede F test/fuzzer1.test 3d4c4b7e547aba5e5511a2991e3e3d07166cfbb8 F test/fuzzer2.test a85ef814ce071293bce1ad8dffa217cbbaad4c14 F test/fuzzerfault.test f64c4aef4c9e9edf1d6dc0d3f1e65dcc81e67c996403c88d14f09b74807a42bc -F test/fuzzinvariants.c e1c844a9234329f8e6f84acc4c32c0657aacfde08d69d90cb9c24d332062994d +F test/fuzzinvariants.c 7b30ce794452ed0c976a7e30cf098f8d8552ef485af6682abde9a293133d3cd9 F test/gcfault.test dd28c228a38976d6336a3fc42d7e5f1ad060cb8c F test/gencol1.test cc0dbb0ee116e5602e18ea7d47f2a0f76b26e09a823b7c36ef254370c2b0f3c1 F test/genesis.tcl 1e2e2e8e5cc4058549a154ff1892fe5c9de19f98 @@ -1978,8 +1978,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 0602a0844893465ac2fe53c0fa648a5cbcbc6452fff6181c42fab517f047b583 -R 677fb4cb73b59ff5567a29b0dcce5966 +P 5eb2c23635320b76f5e1aea4d94375b847fe4b38cdb4e287fba188753f4773b1 +R 5a38f5bef33d12267a14f7a0d1c08cab U drh -Z f2da6ce1874ec91331ce02aadb2b4e60 +Z f2d1d961cabe20521b862d120682a7a7 # Remove this line to create a well-formed Fossil manifest. diff --git a/manifest.uuid b/manifest.uuid index de81e60315..81e42e2284 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -5eb2c23635320b76f5e1aea4d94375b847fe4b38cdb4e287fba188753f4773b1 \ No newline at end of file +eabbee4a51bc1a865bddee890004ff3a1c9cc6b797b21f73e908642e154cef50 \ No newline at end of file diff --git a/test/fuzzinvariants.c b/test/fuzzinvariants.c index b40fa1fa55..3b7827a775 100644 --- a/test/fuzzinvariants.c +++ b/test/fuzzinvariants.c @@ -198,6 +198,7 @@ static char *fuzz_invariant_sql(sqlite3_stmt *pStmt, int iCnt){ continue; } if( i+1!=iCnt ) continue; + if( zColName==0 ) continue; if( sqlite3_column_type(pStmt, i)==SQLITE_NULL ){ sqlite3_str_appendf(pTest, " %s \"%w\" ISNULL", zAnd, zColName); }else{