1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-08-01 06:27:03 +03:00

Fix some strict-aliasing problems in fts3_expr.c. (CVS 6035)

FossilOrigin-Name: 20a4ca5d361ecbb982129171f10cccac4f5ad093
This commit is contained in:
danielk1977
2008-12-17 15:49:51 +00:00
parent 33e8903540
commit f0f9f75443
3 changed files with 15 additions and 15 deletions

View File

@ -155,12 +155,12 @@ static int getNextToken(
return rc; return rc;
} }
void realloc_or_free(void **ppOrig, int nNew){ void *realloc_or_free(void *pOrig, int nNew){
void *pRet = sqlite3_realloc(*ppOrig, nNew); void *pRet = sqlite3_realloc(pOrig, nNew);
if( !pRet ){ if( !pRet ){
sqlite3_free(*ppOrig); sqlite3_free(pOrig);
} }
*ppOrig = pRet; return pRet;
} }
/* /*
@ -198,8 +198,8 @@ static int getNextString(
rc = pModule->xNext(pCursor, &zToken, &nToken, &iBegin, &iEnd, &iPos); rc = pModule->xNext(pCursor, &zToken, &nToken, &iBegin, &iEnd, &iPos);
if( rc==SQLITE_OK ){ if( rc==SQLITE_OK ){
int nByte = sizeof(Fts3Expr) + sizeof(Fts3Phrase); int nByte = sizeof(Fts3Expr) + sizeof(Fts3Phrase);
realloc_or_free((void **)&p, nByte+ii*sizeof(struct PhraseToken)); p = realloc_or_free(p, nByte+ii*sizeof(struct PhraseToken));
realloc_or_free((void **)&zTemp, nTemp + nToken); zTemp = realloc_or_free(zTemp, nTemp + nToken);
if( !p || !zTemp ){ if( !p || !zTemp ){
goto no_mem; goto no_mem;
} }
@ -232,7 +232,7 @@ static int getNextString(
int nNew = 0; int nNew = 0;
int nByte = sizeof(Fts3Expr) + sizeof(Fts3Phrase); int nByte = sizeof(Fts3Expr) + sizeof(Fts3Phrase);
nByte += (p->pPhrase->nToken-1) * sizeof(struct PhraseToken); nByte += (p->pPhrase->nToken-1) * sizeof(struct PhraseToken);
realloc_or_free((void **)&p, nByte + nTemp); p = realloc_or_free(p, nByte + nTemp);
if( !p ){ if( !p ){
goto no_mem; goto no_mem;
} }
@ -308,7 +308,7 @@ static int getNextNode(
} }
/* See if we are dealing with a keyword. */ /* See if we are dealing with a keyword. */
for(ii=0; ii<sizeof(aKeyword)/sizeof(struct Fts3Keyword); ii++){ for(ii=0; ii<(int)(sizeof(aKeyword)/sizeof(struct Fts3Keyword)); ii++){
struct Fts3Keyword *pKey = &aKeyword[ii]; struct Fts3Keyword *pKey = &aKeyword[ii];
if( (0==sqlite3_fts3_enable_parentheses) if( (0==sqlite3_fts3_enable_parentheses)

View File

@ -1,5 +1,5 @@
C Modify\sfts3\sto\ssupport\sa\smore\scomplex\sexpression\ssyntax\sthat\sallows\sparenthesis.\sThe\snew\ssyntax\sis\snot\sentirely\sbackwards\scompatible,\sso\sis\sdisabled\sby\sdefault.\sUse\s-DSQLITE_ENABLE_FTS3_PARENTHESIS\sto\senable\sit.\s(CVS\s6034) C Fix\ssome\sstrict-aliasing\sproblems\sin\sfts3_expr.c.\s(CVS\s6035)
D 2008-12-17T15:18:18 D 2008-12-17T15:49:52
F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0 F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0
F Makefile.in f7e4c81c347b04f7b0f1c1b081a168645d7b8af7 F Makefile.in f7e4c81c347b04f7b0f1c1b081a168645d7b8af7
F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654 F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654
@ -54,7 +54,7 @@ F ext/fts3/README.tokenizers 226644a0eab97724e8de83061912e8bb248461b6
F ext/fts3/README.txt 8c18f41574404623b76917b9da66fcb0ab38328d F ext/fts3/README.txt 8c18f41574404623b76917b9da66fcb0ab38328d
F ext/fts3/fts3.c 3aa6aef1eadc44606f6ed3c841062735a5210077 F ext/fts3/fts3.c 3aa6aef1eadc44606f6ed3c841062735a5210077
F ext/fts3/fts3.h 3a10a0af180d502cecc50df77b1b22df142817fe F ext/fts3/fts3.h 3a10a0af180d502cecc50df77b1b22df142817fe
F ext/fts3/fts3_expr.c b141145197cc749accb03d2b970813443b723edd F ext/fts3/fts3_expr.c a20038d4ebbfbadc1947d33e21f4d58f20637253
F ext/fts3/fts3_expr.h 4dad4d87cf5d41ea924a815fe89a6f87dc76f277 F ext/fts3/fts3_expr.h 4dad4d87cf5d41ea924a815fe89a6f87dc76f277
F ext/fts3/fts3_hash.c e15e84d18f8df149ab290029872d4559c4c7c15a F ext/fts3/fts3_hash.c e15e84d18f8df149ab290029872d4559c4c7c15a
F ext/fts3/fts3_hash.h 004b759e1602ff16dfa02fea3ca1c77336ad6798 F ext/fts3/fts3_hash.h 004b759e1602ff16dfa02fea3ca1c77336ad6798
@ -678,7 +678,7 @@ F tool/speedtest16.c c8a9c793df96db7e4933f0852abb7a03d48f2e81
F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff
F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224 F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224
F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e
P f4f40370fb83d677df3fbf2c51c4bb4a3e5ccc7a P 7389b9ecb80294569845c40a23e0c832d07f7a45
R 0170cc023fb1827148ff15e7bc02335a R b5a5267b6551ee3859c69dff94406f49
U danielk1977 U danielk1977
Z 3401f60bb1566cbc5da4c344a91c4fb9 Z 6c8b8d45848acab7be1cd4bfcb7320ce

View File

@ -1 +1 @@
7389b9ecb80294569845c40a23e0c832d07f7a45 20a4ca5d361ecbb982129171f10cccac4f5ad093