Index: third_party/sqlite/sqlite-3.7.6.3-fix-out-of-scope-memory-reference.patch |
diff --git a/third_party/sqlite/sqlite-3.7.6.3-fix-out-of-scope-memory-reference.patch b/third_party/sqlite/sqlite-3.7.6.3-fix-out-of-scope-memory-reference.patch |
new file mode 100644 |
index 0000000000000000000000000000000000000000..a5b031b1d3ad70bfc7bd171a99dcc998d6e571af |
--- /dev/null |
+++ b/third_party/sqlite/sqlite-3.7.6.3-fix-out-of-scope-memory-reference.patch |
@@ -0,0 +1,26 @@ |
+--- ext/fts3/fts3_write.c.orig 2012-05-08 21:05:03.000000000 +0300 |
++++ ext/fts3/fts3_write.c 2012-05-08 21:07:08.000000000 +0300 |
+@@ -1238,13 +1238,13 @@ int sqlite3Fts3SegReaderPending( |
+ Fts3SegReader **ppReader /* OUT: SegReader for pending-terms */ |
+ ){ |
+ Fts3SegReader *pReader = 0; /* Fts3SegReader object to return */ |
++ Fts3HashElem *pE; /* Iterator variable */ |
+ Fts3HashElem **aElem = 0; /* Array of term hash entries to scan */ |
+ int nElem = 0; /* Size of array at aElem */ |
+ int rc = SQLITE_OK; /* Return Code */ |
+ |
+ if( isPrefix ){ |
+ int nAlloc = 0; /* Size of allocated array at aElem */ |
+- Fts3HashElem *pE = 0; /* Iterator variable */ |
+ |
+ for(pE=fts3HashFirst(&p->pendingTerms); pE; pE=fts3HashNext(pE)){ |
+ char *zKey = (char *)fts3HashKey(pE); |
+@@ -1276,7 +1276,7 @@ int sqlite3Fts3SegReaderPending( |
+ } |
+ |
+ }else{ |
+- Fts3HashElem *pE = fts3HashFindElem(&p->pendingTerms, zTerm, nTerm); |
++ pE = fts3HashFindElem(&p->pendingTerms, zTerm, nTerm); |
+ if( pE ){ |
+ aElem = &pE; |
+ nElem = 1; |