]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Avoid branching on an uninitalized variable when comparing SQL values with the undefi...
authordan <dan@noemail.net>
Tue, 26 May 2015 20:07:32 +0000 (20:07 +0000)
committerdan <dan@noemail.net>
Tue, 26 May 2015 20:07:32 +0000 (20:07 +0000)
FossilOrigin-Name: b4a45d3b78fede2433ac18f20b1ab7bddee77059

manifest
manifest.uuid
src/vdbeaux.c

index 46ef888253432230df9d2552bd8c2944d9056644..a14b7d72a9efc2a8cdb523c1610ff9d61bebbdd2 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C The\s"make\sfuzztest"\starget\snow\suses\sfuzzcheck\sinstead\sof\sfuzzershell.\s\sTest\ndata\sis\sadded\sfor\sdatabase\sfuzz\stesting.
-D 2015-05-26T19:08:14.763
+C Avoid\sbranching\son\san\suninitalized\svariable\swhen\scomparing\sSQL\svalues\swith\sthe\sundefined\sserial\stypes\s10\sand\s11\s(which\sonly\sappear\sin\scorrupt\sdatabases).
+D 2015-05-26T20:07:32.939
 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
 F Makefile.in 3feb7cbdad8898fe7a8a24355b4a753029c3ec3b
 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
@@ -316,7 +316,7 @@ F src/vdbe.c 6aee8a041742413ab3113e6682bc7ad1628a2bbe
 F src/vdbe.h 7e538ecf47dccb307ea2d087c3ddc2dd8d70e79d
 F src/vdbeInt.h f0ccddac48583d5f762dc554a9f79e85ea8807e0
 F src/vdbeapi.c 6a0d7757987018ff6b1b81bc5293219cd26bb299
-F src/vdbeaux.c efe1667d31e8648dbe04a441e5aa9b62dbee2f03
+F src/vdbeaux.c d3e4b36e6e6a7ada756993f1a0c7c89f2183fcf1
 F src/vdbeblob.c 4f2e8e075d238392df98c5e03a64342465b03f90
 F src/vdbemem.c 21f9169289a804308f6cdde55e9417fb8336997f
 F src/vdbesort.c f5009e7a35e3065635d8918b9a31f498a499976b
@@ -1279,8 +1279,7 @@ F tool/vdbe_profile.tcl 67746953071a9f8f2f668b73fe899074e2c6d8c1
 F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
 F tool/warnings.sh 0abfd78ceb09b7f7c27c688c8e3fe93268a13b32
 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
-P 193364c81c301a41c16835108d23ad2ab84d9dd7 e85628e34ac684b8a23f49eee71e4d6546e0ef64
-R 3d82c0fa4f6ee04379bd9745bde5d911
-T +closed e85628e34ac684b8a23f49eee71e4d6546e0ef64
-U drh
-Z f05d0da940377f1e118d67abedff2c44
+P 5e3e410bf49a29efbf9ff3ef048e158804ca0027
+R f39b315003c60aaa407135f808ae9f63
+U dan
+Z bbb0b6475f661c6ff9c98c6db1ebf479
index 3e163015d2c04c4785bcf2df38a5ca734dab572d..b9c8f5fa1ec091cddc848c5dacecedcc4c8b81a5 100644 (file)
@@ -1 +1 @@
-5e3e410bf49a29efbf9ff3ef048e158804ca0027
\ No newline at end of file
+b4a45d3b78fede2433ac18f20b1ab7bddee77059
\ No newline at end of file
index b1abca13160dad12c65b28ac72d6bcf025431d01..dda52ad0fc3763d37d4306241142b0694cf79382 100644 (file)
@@ -3677,7 +3677,11 @@ int sqlite3VdbeRecordCompareWithSkip(
     /* RHS is real */
     else if( pRhs->flags & MEM_Real ){
       serial_type = aKey1[idx1];
-      if( serial_type>=12 ){
+      if( serial_type>=10 ){
+        /* Serial types 12 or greater are strings and blobs (greater than
+        ** numbers). Types 10 and 11 are currently "reserved for future 
+        ** use", so it doesn't really matter what the results of comparing
+        ** them to numberic values are.  */
         rc = +1;
       }else if( serial_type==0 ){
         rc = -1;