]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Fix a memory leak following failure to open an external CSV file in the
authordrh <drh@noemail.net>
Tue, 24 Apr 2018 10:57:10 +0000 (10:57 +0000)
committerdrh <drh@noemail.net>
Tue, 24 Apr 2018 10:57:10 +0000 (10:57 +0000)
csv.c extension.

FossilOrigin-Name: 526ee07d19dbc8fd1af3a02a8da12b337020a4be40e045da9a19d0a7c2b6ab54

ext/misc/csv.c
manifest
manifest.uuid
test/csv01.test

index c634ab3a4d22c8540116ecdbe36f3981fe1cea81..e0afdd5d22ac7277ab808dcf0dfe176268160e2a 100644 (file)
@@ -132,6 +132,7 @@ static int csv_reader_open(
     }
     p->in = fopen(zFilename, "rb");
     if( p->in==0 ){
+      sqlite3_free(p->zIn);
       csv_reader_reset(p);
       csv_errmsg(p, "cannot open '%s' for reading", zFilename);
       return 1;
index 5599c6fe471aeea69c819adca70e1e158227acb0..ace22be5a02a418ad810c07accd46bf75b875747 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C In\sEXPLAIN\sQUERY\sPLAN\soutput,\sdo\snot\sshow\san\sEXECUTE\sLIST\sSUBQUERY\sline\sfor\nIN\soperators\swhere\sthe\sRHS\sis\sa\slist\sand\snot\sa\ssubquery,\ssince\sin\sthat\scase\nthere\sis\sno\sSUBQUERY\sto\sexecute.
-D 2018-04-24T01:10:12.734
+C Fix\sa\smemory\sleak\sfollowing\sfailure\sto\sopen\san\sexternal\sCSV\sfile\sin\sthe\ncsv.c\sextension.
+D 2018-04-24T10:57:10.809
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F Makefile.in 5ce9343cba9c189046f1afe6d2bcc1f68079439febc05267b98aec6ecc752439
@@ -274,7 +274,7 @@ F ext/misc/carray.c ed96c218ea940b85c9a274c4d9c59fe9491c299147a38a8bba537687bd6c
 F ext/misc/closure.c 0d2a038df8fbae7f19de42e7c7d71f2e4dc88704
 F ext/misc/completion.c 0d0bd16378415b982e7119baddef52a0d2cc25860c238a9d2832b0cc6a84a16d
 F ext/misc/compress.c dd4f8a6d0baccff3c694757db5b430f3bbd821d8686d1fc24df55cf9f035b189
-F ext/misc/csv.c 1a009b93650732e22334edc92459c4630b9fa703397cbb3c8ca279921a36ca11
+F ext/misc/csv.c d1e324fac3f87f818d684a3d752d1ef76dbcd4fc0db6746ac4034c19d0bcda21
 F ext/misc/dbdump.c 22018e00eb50e9ebf9067c92d4e7162dc5006a3efc4e0c19bc3829825a1043b0
 F ext/misc/eval.c 6ea9b22a5fa0dd973b67ca4e53555be177bc0b7b263aadf1024429457c82c0e3
 F ext/misc/fileio.c 48c7751c78fc4cdd29d8c862fd2f3f98bbfefa2a3cf1ca1496df4bf02eb8cded
@@ -737,7 +737,7 @@ F test/crashM.test d95f59046fa749b0d0822edf18a717788c8f318d
 F test/crashtest1.c 09c1c7d728ccf4feb9e481671e29dda5669bbcc2
 F test/createtab.test b5de160630b209c4b8925bdcbbaf48cc90b67fe8
 F test/cse.test 277350a26264495e86b1785f34d2d0c8600e021c
-F test/csv01.test 526fc6aefd052badd5a0283f86b4b395c3df76bfe98d96c801f494f5e2c7836c
+F test/csv01.test b99db7e57ee66fb3aa6e5d25af119003bee90bf679c5885711cbf7374f025b73
 F test/ctime.test 78749e6c9a5f0010d67985be80788f841e3cd2da18114e2ed6010399a7d807f3
 F test/cursorhint.test 7bc346788390475e77a345da2b92270d04d35856
 F test/cursorhint2.test 0078ae1ded4afcf5eb80d06e3a72b6e1c3f1a646aab26eeb583b0a9ec6f0d56e
@@ -1725,7 +1725,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 c7e6e848fa91f61bc980a031a17d4cd4784f93a1c9ffee35665efa1a59f2982a
-R aaaeedf1405d5c0bde908df2cbf86e60
+P 8bc0207abdeeb3ffac003703e78826759f07994698f6cdf40c89c3443ba22a47
+R 3ef6679417716a25fa739b5485cde10d
 U drh
-Z c37a6d6188daf1d034fa603dc2f986bf
+Z 13fd8bb0e940e8192f126732a8d4f0af
index 18122c4456b3fbb86092128b151e3189ff0744c0..ee4ec399d43a4286dba4146d4aec073cebc5544d 100644 (file)
@@ -1 +1 @@
-8bc0207abdeeb3ffac003703e78826759f07994698f6cdf40c89c3443ba22a47
\ No newline at end of file
+526ee07d19dbc8fd1af3a02a8da12b337020a4be40e045da9a19d0a7c2b6ab54
\ No newline at end of file
index 2f45f24d7710e73632ceca5693c4164d322e94c2..e8bafbd1515cd7d21fd61e8627c77d54d2d716fb 100644 (file)
@@ -140,5 +140,12 @@ do_catchsql_test 4.2 {
       );
 } {1 {vtable constructor failed: t5}}
 
+# 2018-04-24
+# Memory leak reported on the sqlite-users mailing list by Ralf Junker.
+#
+do_catchsql_test 4.3 {
+  CREATE VIRTUAL TABLE IF NOT EXISTS temp.t1
+  USING csv(filename='FileDoesNotExist.csv');
+} {1 {cannot open 'FileDoesNotExist.csv' for reading}}
 
 finish_test