diff options
author | mdm@chromium.org <mdm@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-09-24 17:03:24 +0000 |
---|---|---|
committer | mdm@chromium.org <mdm@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-09-24 17:03:24 +0000 |
commit | 73814b59b4365a36546f63758c95d83adee8c93a (patch) | |
tree | 85f7b1e8d57619e0ab78a3a32447c811a394b240 /third_party/sqlite | |
parent | c7f84f149a689d47d5da375c3733227d3db9747d (diff) | |
download | chromium_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.chromium | 3 | ||||
-rw-r--r-- | third_party/sqlite/misc.patch | 15 | ||||
-rw-r--r-- | third_party/sqlite/src/expr.c | 4 |
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. */ |