diff options
Diffstat (limited to 'third_party/sqlite')
-rw-r--r-- | third_party/sqlite/README.chromium | 6 | ||||
-rw-r--r-- | third_party/sqlite/icu-regexp.patch | 17 |
2 files changed, 22 insertions, 1 deletions
diff --git a/third_party/sqlite/README.chromium b/third_party/sqlite/README.chromium index c34cd76..6953e64 100644 --- a/third_party/sqlite/README.chromium +++ b/third_party/sqlite/README.chromium @@ -54,6 +54,7 @@ preload-cache.patch safe-tolower.patch sqlite-poison.patch fts2.patch +icu-regexp.patch So, e.g. you could do this to apply all our patches to vanilla SQLite: @@ -63,6 +64,7 @@ patch -p0 < ../sqlite/preload-cache.patch patch -p0 < ../sqlite/safe-tolower.patch patch -p0 < ../sqlite/sqlite-poison.patch patch -p0 < ../sqlite/fts2.patch +patch -p0 < ../sqlite/icu-regexp.patch This will only be the case if all changes we make also update the corresponding patch files. Therefore please remember to do that whenever you make a change! @@ -95,8 +97,10 @@ Chris Evans <cevans@google.com>, Oct 1, 2009 -------------------------------------------- -As of Nov 9, 2009, these are our changes from sqlite_vendor: +As of Dec 16, 2009, these are our changes from sqlite_vendor: + - A fix for a crash mis-calling the REGEXP() function of the ICU extension. + See icu-regexp.patch - A large number of fts2 robustness fixes against corrupt data in its metadata tables. - fts2.c disables fts2_tokenizer(). diff --git a/third_party/sqlite/icu-regexp.patch b/third_party/sqlite/icu-regexp.patch new file mode 100644 index 0000000..cb758ce --- /dev/null +++ b/third_party/sqlite/icu-regexp.patch @@ -0,0 +1,17 @@ +--- ext/icu/icu.c.orig 2009-12-16 15:43:51.000000000 -0800 ++++ ext/icu/icu.c 2009-12-15 15:23:34.000000000 -0800 +@@ -250,12 +250,12 @@ + UErrorCode status = U_ZERO_ERROR; + URegularExpression *pExpr; + UBool res; +- const UChar *zString = sqlite3_value_text16(apArg[1]); ++ const UChar *zString; + + /* If the left hand side of the regexp operator is NULL, + ** then the result is also NULL. + */ +- if( !zString ){ ++ if( nArg<2 || !(zString=sqlite3_value_text16(apArg[1])) ){ + return; + } + |