]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Handle a real OOM condition when incrblob2.test is run on a low-memory machine.
authordrh <drh@noemail.net>
Mon, 24 Jul 2017 17:37:35 +0000 (17:37 +0000)
committerdrh <drh@noemail.net>
Mon, 24 Jul 2017 17:37:35 +0000 (17:37 +0000)
FossilOrigin-Name: f483d06a9af8d6771090551d911831e1df13bb05a6b7780499594703c28ebbb2

manifest
manifest.uuid
src/test_blob.c
test/incrblob2.test

index 7d15dac75bc6a81efcecdf1988085ea57c42a140..83c3dc88cc817eb3b1f1b3c8147638316c3d1574 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Additional\sdocumentation\son\ssqlite3_bind_pointer()\sand\ssqlite3_result_pointer().\nNo\schanges\sto\scode.
-D 2017-07-24T15:29:16.514
+C Handle\sa\sreal\sOOM\scondition\swhen\sincrblob2.test\sis\srun\son\sa\slow-memory\smachine.
+D 2017-07-24T17:37:35.310
 F Makefile.in d9873c9925917cca9990ee24be17eb9613a668012c85a343aef7e5536ae266e8
 F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
 F Makefile.msc 02b469e9dcd5b7ee63fc1fb05babc174260ee4cfa4e0ef2e48c3c6801567a016
@@ -476,7 +476,7 @@ F src/test_async.c 195ab49da082053fdb0f949c114b806a49ca770a
 F src/test_autoext.c 915d245e736652a219a907909bb6710f0d587871
 F src/test_backup.c bf5da90c9926df0a4b941f2d92825a01bbe090a0
 F src/test_bestindex.c d23f80d334c59662af69191854c76b8d3d0c8c96
-F src/test_blob.c f65ac717da2618691cf9dad094e6da0219dcd208
+F src/test_blob.c ae4a0620b478548afb67963095a7417cd06a4ec0a56adb453542203bfdcb31ce
 F src/test_btree.c 8b2dc8b8848cf3a4db93f11578f075e82252a274
 F src/test_config.c abf6fc1fe9d041b699578c42e3db81f8831c4f5b804f1927958102ee8f2b773e
 F src/test_delete.c e2fe07646dff6300b48d49b2fee2fe192ed389e834dd635e3b3bac0ce0bf9f8f
@@ -916,7 +916,7 @@ F test/in3.test 3cbf58c87f4052cee3a58b37b6389777505aa0c0
 F test/in4.test d2b38cba404bc4320f4fe1b595b3d163f212c068
 F test/in5.test 7ae37fcd4a5e198291c6ab5f31a5bb3d15397efe8b75a6736d7a95a7b8dd9e08
 F test/incrblob.test c9b96afc292aeff43d6687bcb09b0280aa599822
-F test/incrblob2.test a5ce5ed1d0b01e2ed347245a21170372528af0a5
+F test/incrblob2.test a494c9e848560039a23974b9119cfc2cf3ad3bd15cc2694ee6367ae537ef8f1f
 F test/incrblob3.test d8d036fde015d4a159cd3cbae9d29003b37227a4
 F test/incrblob4.test 21a52a6843a56cdcce968c6a86b72a7066d0e6ba
 F test/incrblob_err.test 69f9247fed50278d48ea710d1a8f9cdb09e4c0b8
@@ -1637,7 +1637,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 a98f07d942f0b8cc15da57b84e6340efae72ff19516fa04624242240af43a697
-R 53c56e6d1f80b263bf3b224af65051a5
+P b1572d4e05934a0dc1b73092acba652fa50e97552eb6e9a1cedea7c71055804b
+R 4e06a39bce0ddc1c556d18546b567a43
 U drh
-Z c6c0754087fd0fc30d2a18fe11c0daa6
+Z 9cf5ff97492597ebd137410bcef84638
index 466ad383d1f41e81cdfd01b446a2ce321dadd70d..e95f6829abe2ca6e289b6602e8a512c51076a807 100644 (file)
@@ -1 +1 @@
-b1572d4e05934a0dc1b73092acba652fa50e97552eb6e9a1cedea7c71055804b
\ No newline at end of file
+f483d06a9af8d6771090551d911831e1df13bb05a6b7780499594703c28ebbb2
\ No newline at end of file
index 118f210738daa4db8c7e3c5e0381a9b105cc48ac..cbdf9f069f70c44cc5cc7b1afa20297fa41478f7 100644 (file)
@@ -241,7 +241,7 @@ static int SQLITE_TCLAPI test_blob_read(
   if( nByte>0 ){
     zBuf = (unsigned char *)Tcl_AttemptAlloc(nByte);
     if( zBuf==0 ){
-      Tcl_AppendResult(interp, "out of memory", 0);
+      Tcl_AppendResult(interp, "out of memory in " __FILE__, 0);
       return TCL_ERROR;
     }
   }
index b6c75cd6c75fcf1d7b89ea8ef2126fc2d202458c..989da147cc5dd4a189134ae822301ca4628e84b3 100644 (file)
@@ -331,6 +331,9 @@ if {$::tcl_platform(pointerSize)>=8} {
       # integer overflow.
       sqlite3_blob_read $rdHandle 2147483647 2147483647
     } errmsg]
+    if {[string match {out of memory in *test_blob.c} $errmsg]} {
+      set errmsg SQLITE_ERROR
+    }
     lappend rc $errmsg
   } {1 SQLITE_ERROR}
 }