summaryrefslogtreecommitdiffstats
path: root/third_party/sqlite
diff options
context:
space:
mode:
authormdm@chromium.org <mdm@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-09-24 17:03:24 +0000
committermdm@chromium.org <mdm@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-09-24 17:03:24 +0000
commit73814b59b4365a36546f63758c95d83adee8c93a (patch)
tree85f7b1e8d57619e0ab78a3a32447c811a394b240 /third_party/sqlite
parentc7f84f149a689d47d5da375c3733227d3db9747d (diff)
downloadchromium_src-73814b59b4365a36546f63758c95d83adee8c93a.zip
chromium_src-73814b59b4365a36546f63758c95d83adee8c93a.tar.gz
chromium_src-73814b59b4365a36546f63758c95d83adee8c93a.tar.bz2
Fix a linker warning for sqlite compiled with a sufficiently optimizing compiler.
BUG=22635 TEST=none Review URL: http://codereview.chromium.org/231010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27078 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'third_party/sqlite')
-rw-r--r--third_party/sqlite/README.chromium3
-rw-r--r--third_party/sqlite/misc.patch15
-rw-r--r--third_party/sqlite/src/expr.c4
3 files changed, 21 insertions, 1 deletions
diff --git a/third_party/sqlite/README.chromium b/third_party/sqlite/README.chromium
index 6e42b34..cdf23de 100644
--- a/third_party/sqlite/README.chromium
+++ b/third_party/sqlite/README.chromium
@@ -96,6 +96,9 @@ As of Sep 15, 2009, these are our changes from sqlite_vendor:
safe-tolower.patch
http://crbug.com/15261
http://www.sqlite.org/src/tktview/991789d9f3136a0460dc83a33e815c1aa9757c26
+ - Check that the third argument to memset() is nonzero in expr.c to avoid
+ a linker warning when the compiler can optimize it to a constant zero
+ (e.g. see http://www.sqlite.org/cvstrac/tktview?tn=3765,39)
Changes from Chrome:
- I marked all changes I made with "evanm", so you can find them with
diff --git a/third_party/sqlite/misc.patch b/third_party/sqlite/misc.patch
index 09174a4..3e77812 100644
--- a/third_party/sqlite/misc.patch
+++ b/third_party/sqlite/misc.patch
@@ -596,6 +596,21 @@ Index: main.mk
sqlite3_analyzer$(EXE): $(TOP)/src/tclsqlite.c sqlite3.c $(TESTSRC) \
$(TOP)/tool/spaceanal.tcl
sed \
+Index: src/expr.c
+===================================================================
+--- src/expr.c 2009-09-08 12:16:11.000000000 -0700
++++ src/expr.c 2009-09-23 16:58:47.000000000 -0700
+@@ -804,7 +804,9 @@
+ }else{
+ int nSize = exprStructSize(p);
+ memcpy(zAlloc, p, nSize);
+- memset(&zAlloc[nSize], 0, EXPR_FULLSIZE-nSize);
++ if( EXPR_FULLSIZE>nSize ){
++ memset(&zAlloc[nSize], 0, EXPR_FULLSIZE-nSize);
++ }
+ }
+
+ /* Set the EP_Reduced, EP_TokenOnly, and EP_Static flags appropriately. */
Index: src/func.c
===================================================================
--- src/func.c 2009-09-04 13:37:42.000000000 -0700
diff --git a/third_party/sqlite/src/expr.c b/third_party/sqlite/src/expr.c
index 50b24de..31a62b6 100644
--- a/third_party/sqlite/src/expr.c
+++ b/third_party/sqlite/src/expr.c
@@ -804,7 +804,9 @@ static Expr *exprDup(sqlite3 *db, Expr *p, int flags, u8 **pzBuffer){
}else{
int nSize = exprStructSize(p);
memcpy(zAlloc, p, nSize);
- memset(&zAlloc[nSize], 0, EXPR_FULLSIZE-nSize);
+ if( EXPR_FULLSIZE>nSize ){
+ memset(&zAlloc[nSize], 0, EXPR_FULLSIZE-nSize);
+ }
}
/* Set the EP_Reduced, EP_TokenOnly, and EP_Static flags appropriately. */