]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Make benign any malloc failures inside the sqlite3_file_control() call within
authordrh <drh@noemail.net>
Wed, 22 Feb 2012 18:21:20 +0000 (18:21 +0000)
committerdrh <drh@noemail.net>
Wed, 22 Feb 2012 18:21:20 +0000 (18:21 +0000)
PRAGMA parsing.  Add a couple simple tests for SQLITE_FCNTL_PRAGMA.

FossilOrigin-Name: a1f29fa653b788f563967f55c3d20e64cbe3f549

manifest
manifest.uuid
src/pragma.c
test/attach.test

index 46df865eb6e97638ab001fdd9a2010c17f4db7ea..9a47c0ad55073b9db578c096f1786c806d33886d 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Change\sthe\sSQLITE_FCNTL_PRAGMA\sfile-control\sso\sthat\sit\scan\sreturn\sa\sstring\nvalue.
-D 2012-02-22T16:58:36.697
+C Make\sbenign\sany\smalloc\sfailures\sinside\sthe\ssqlite3_file_control()\scall\swithin\nPRAGMA\sparsing.\s\sAdd\sa\scouple\ssimple\stests\sfor\sSQLITE_FCNTL_PRAGMA.
+D 2012-02-22T18:21:20.823
 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
 F Makefile.in 3f79a373e57c3b92dabf76f40b065e719d31ac34
 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
@@ -174,7 +174,7 @@ F src/parse.y 1ddd71ae55f4b7cbb2672526ea4de023de0f519e
 F src/pcache.c f8043b433a57aba85384a531e3937a804432a346
 F src/pcache.h 1b5dcc3dc8103d03e625b177023ee67764fa6b7c
 F src/pcache1.c b30b1c35908346ecc43d8d9d17f2ddf6817f8f60
-F src/pragma.c 6838f56b049840d015fc9b335ab4118479bdaac9
+F src/pragma.c c452bbbd2afc48e80a42adaba559bd63e998ea17
 F src/prepare.c ec4989f7f480544bdc4192fe663470d2a2d7d61e
 F src/printf.c 7ffb4ebb8b341f67e049695ba031da717b3d2699
 F src/random.c cd4a67b3953b88019f8cd4ccd81394a8ddfaba50
@@ -275,7 +275,7 @@ F test/async2.test c0a9bd20816d7d6a2ceca7b8c03d3d69c28ffb8b
 F test/async3.test d73a062002376d7edc1fe3edff493edbec1fc2f7
 F test/async4.test 1787e3952128aa10238bf39945126de7ca23685a
 F test/async5.test 0dd8701bd588bf6e70c2557a22ae3f22b2567b4c
-F test/attach.test 064911a24b6692759c661b981ed953c5fd9f441a
+F test/attach.test 80762134ca101a79dbe3dda5285d7897639057a7
 F test/attach2.test e54436ed956d3d88bdee61221da59bf3935a0966
 F test/attach3.test d89ccfe4fe6e2b5e368d480fcdfe4b496c54cf4e
 F test/attach4.test 53bf502f17647c6d6c5add46dda6bac8b6f4665c
@@ -990,7 +990,7 @@ F tool/tostr.awk e75472c2f98dd76e06b8c9c1367f4ab07e122d06
 F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f
 F tool/warnings-clang.sh 9f406d66e750e8ac031c63a9ef3248aaa347ef2a
 F tool/warnings.sh fbc018d67fd7395f440c28f33ef0f94420226381
-P 5be07904baf6e5b8b99ca6f4bb6ddec973e59cd4
-R f8a789f52fcbc32c2be7b7547e20bad5
+P fd8d7440277b17f57a6dc0a210f42adf1fa2dcd2
+R 77f865c04d434abb001a6242927d5d25
 U drh
-Z 2d0e9a9b9d36c2e692d7eed74ee06028
+Z d262af2f28e1a265375911629e3a952e
index 90e28dbbf093baf58fab2ccee766911d729f8662..c29fcb98f3a3d79e64231d6aaace005e4e426c2e 100644 (file)
@@ -1 +1 @@
-fd8d7440277b17f57a6dc0a210f42adf1fa2dcd2
\ No newline at end of file
+a1f29fa653b788f563967f55c3d20e64cbe3f549
\ No newline at end of file
index 079348e11b24c3baac7f0f03d3bc91566546d5b3..c5f4b285cda8c9342499dad607ef0e0fdae7aeab 100644 (file)
@@ -357,7 +357,9 @@ void sqlite3Pragma(
   aFcntl[1] = zLeft;
   aFcntl[2] = zRight;
   aFcntl[3] = 0;
+  sqlite3BeginBenignMalloc();
   rc = sqlite3_file_control(db, zDb, SQLITE_FCNTL_PRAGMA, (void*)aFcntl);
+  sqlite3EndBenignMalloc();
   if( rc==SQLITE_OK ){
     if( aFcntl[0] ){
       int mem = ++pParse->nMem;
index b29ba1709a72dc3425cd40e05e2bcce2742f0a7d..78358980fcc10400c3df41eb5a8d59cdd1944146 100644 (file)
@@ -273,12 +273,14 @@ ifcapable schema_pragmas {
 
 
 if {[regexp unix [file_control_vfsname db]]} {
-  do_test attach-1.30.1 {
-    file tail [db eval {PRAGMA main.filename}]
-  } {test.db}
-  do_test attach-1.30.2 {
-    db eval {PRAGMA temp.filename}
-  } {}
+  ifcapable debug {
+    do_test attach-1.30.1 {
+      file tail [db eval {PRAGMA main.filename}]
+    } {test.db}
+    do_test attach-1.30.2 {
+      db eval {PRAGMA temp.filename}
+    } {}
+  }
 }
 
 ifcapable {trigger} {  # Only do the following tests if triggers are enabled