From f396ecadcdf3a4ea645258c99858e142a4fbef9c Mon Sep 17 00:00:00 2001 From: drh Date: Tue, 21 Aug 2018 12:46:34 +0000 Subject: [PATCH] Further attempts to reduce the number of false-positives genenerated by static analysis tools. FossilOrigin-Name: 38f9ce6503c4dd05ccdd73463b1784a6df7ed6e5018c29c5874a3681ca34ba54 --- manifest | 12 ++++++------ manifest.uuid | 2 +- src/vdbesort.c | 7 ++++++- 3 files changed, 13 insertions(+), 8 deletions(-) diff --git a/manifest b/manifest index 5aa0122864..04d8e34e32 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Fix\svarious\sharmless\swarnings\sgenerated\sby\sstatic\sanalysis\stools. -D 2018-08-21T12:16:33.162 +C Further\sattempts\sto\sreduce\sthe\snumber\sof\sfalse-positives\sgenenerated\sby\nstatic\sanalysis\stools. +D 2018-08-21T12:46:34.393 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F Makefile.in 0a3a6c81e6fcb969ff9106e882f0a08547014ba463cb6beca4c4efaecc924ee6 @@ -576,7 +576,7 @@ F src/vdbeapi.c 2ba821c5929a2769e4b217dd85843479c718b8989d414723ec8af0616a83d611 F src/vdbeaux.c b64c699261611e3921de8bdf5a69d5559f0d1443dab8c4ba8e81a64d9219ac6a F src/vdbeblob.c f5c70f973ea3a9e915d1693278a5f890dc78594300cf4d54e64f2b0917c94191 F src/vdbemem.c 0dc99941388a867a4dc77a8bed5dfc6024ee9c3ef147a09de844a6629086ec0c -F src/vdbesort.c 731a09e5cb9e96b70c394c1b7cf3860fbe84acca7682e178615eb941a3a0ef2f +F src/vdbesort.c 90aad5a92608f2dd771c96749beabdb562c9d881131a860a7a5bccf66dc3be7f F src/vdbetrace.c 79d6dbbc479267b255a7de8080eee6e729928a0ef93ed9b0bfa5618875b48392 F src/vtab.c 678992ac8ec677a3f9b08126aaf891441083805e3b42574e3654d44538381c14 F src/vxworks.h d2988f4e5a61a4dfe82c6524dd3d6e4f2ce3cdb9 @@ -1755,7 +1755,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 -P 6f5e84bafcaf425cb664c7db8179c9c09a13c96aaf057551c04a919ca554d057 -R 9df5e3240f54dd72e65d190d80e2d8fd +P a04a0ea9e30e0ef12bafa0b90b7d1b7764865768bb4a738b0c73a7a3ef9416db +R d85758f026f92625818d6378a1dcce5e U drh -Z 5fa5d5ac4c1aa0b705908d236232bb3b +Z 83b440066eedd3b049df3a10587affba diff --git a/manifest.uuid b/manifest.uuid index d5361a492b..aa020da9e4 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -a04a0ea9e30e0ef12bafa0b90b7d1b7764865768bb4a738b0c73a7a3ef9416db \ No newline at end of file +38f9ce6503c4dd05ccdd73463b1784a6df7ed6e5018c29c5874a3681ca34ba54 \ No newline at end of file diff --git a/src/vdbesort.c b/src/vdbesort.c index ef5715d249..b30bc4e082 100644 --- a/src/vdbesort.c +++ b/src/vdbesort.c @@ -2107,7 +2107,11 @@ static int vdbeMergeEngineInit( ){ int rc = SQLITE_OK; /* Return code */ int i; /* For looping over PmaReader objects */ - int nTree = pMerger->nTree; + int nTree; /* Number of subtrees to merge */ + + /* Failure to allocate the merge would have been detected prior to + ** invoking this routine */ + assert( pMerger!=0 ); /* eMode is always INCRINIT_NORMAL in single-threaded mode */ assert( SQLITE_MAX_WORKER_THREADS>0 || eMode==INCRINIT_NORMAL ); @@ -2116,6 +2120,7 @@ static int vdbeMergeEngineInit( assert( pMerger->pTask==0 ); pMerger->pTask = pTask; + nTree = pMerger->nTree; for(i=0; i0 && eMode==INCRINIT_ROOT ){ /* PmaReaders should be normally initialized in order, as if they are -- 2.47.2