| OLD | NEW |
| (Empty) | |
| 1 From b11ecfada70198bc5b6dc8419d2b7b3c7f6542b8 Mon Sep 17 00:00:00 2001 |
| 2 From: Scott Hess <shess@chromium.org> |
| 3 Date: Tue, 16 Dec 2014 13:02:27 -0800 |
| 4 Subject: [PATCH 10/23] [fts3] Disable fts3_tokenizer and fts4. |
| 5 |
| 6 fts3_tokenizer allows a SQLite user to specify a pointer to call as a |
| 7 function, which has obvious sercurity implications. Disable fts4 until |
| 8 someone explicitly decides to own support for it. |
| 9 |
| 10 No original review URL because this was part of the initial Chromium commit. |
| 11 --- |
| 12 third_party/sqlite/src/ext/fts3/fts3.c | 9 +++++++++ |
| 13 1 file changed, 9 insertions(+) |
| 14 |
| 15 diff --git a/third_party/sqlite/src/ext/fts3/fts3.c b/third_party/sqlite/src/ext
/fts3/fts3.c |
| 16 index 20da051..7accb11 100644 |
| 17 --- a/third_party/sqlite/src/ext/fts3/fts3.c |
| 18 +++ b/third_party/sqlite/src/ext/fts3/fts3.c |
| 19 @@ -291,6 +291,7 @@ |
| 20 ** deletions and duplications. This would basically be a forced merge |
| 21 ** into a single segment. |
| 22 */ |
| 23 +#define CHROMIUM_FTS3_CHANGES 1 |
| 24 |
| 25 #if !defined(SQLITE_CORE) || defined(SQLITE_ENABLE_FTS3) |
| 26 |
| 27 @@ -3646,7 +3647,11 @@ int sqlite3Fts3Init(sqlite3 *db){ |
| 28 ** module with sqlite. |
| 29 */ |
| 30 if( SQLITE_OK==rc |
| 31 +#if CHROMIUM_FTS3_CHANGES && !SQLITE_TEST |
| 32 + /* fts3_tokenizer() disabled for security reasons. */ |
| 33 +#else |
| 34 && SQLITE_OK==(rc = sqlite3Fts3InitHashTable(db, pHash, "fts3_tokenizer")) |
| 35 +#endif |
| 36 && SQLITE_OK==(rc = sqlite3_overload_function(db, "snippet", -1)) |
| 37 && SQLITE_OK==(rc = sqlite3_overload_function(db, "offsets", 1)) |
| 38 && SQLITE_OK==(rc = sqlite3_overload_function(db, "matchinfo", 1)) |
| 39 @@ -3656,11 +3661,15 @@ int sqlite3Fts3Init(sqlite3 *db){ |
| 40 rc = sqlite3_create_module_v2( |
| 41 db, "fts3", &fts3Module, (void *)pHash, hashDestroy |
| 42 ); |
| 43 +#if CHROMIUM_FTS3_CHANGES && !SQLITE_TEST |
| 44 + /* Disable fts4 pending review. */ |
| 45 +#else |
| 46 if( rc==SQLITE_OK ){ |
| 47 rc = sqlite3_create_module_v2( |
| 48 db, "fts4", &fts3Module, (void *)pHash, 0 |
| 49 ); |
| 50 } |
| 51 +#endif |
| 52 return rc; |
| 53 } |
| 54 |
| 55 -- |
| 56 2.2.1 |
| 57 |
| OLD | NEW |