mirror of
https://github.com/sqlite/sqlite.git
synced 2025-11-21 09:00:59 +03:00
Add a testcase() macro to verify OOM coverage.
FossilOrigin-Name: d43dcbc488120aeb7104ab9e6a27f62bb348bf6a
This commit is contained in:
12
manifest
12
manifest
@@ -1,5 +1,5 @@
|
|||||||
C Remove\sunreachable\sbranches\sin\sexpr.c,\sreplacing\sthem\swith\sassert()\sand\ntestcase()\sstatements.
|
C Add\sa\stestcase()\smacro\sto\sverify\sOOM\scoverage.
|
||||||
D 2013-08-06T16:56:44.584
|
D 2013-08-06T17:24:23.114
|
||||||
F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
|
F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
|
||||||
F Makefile.in 5e41da95d92656a5004b03d3576e8b226858a28e
|
F Makefile.in 5e41da95d92656a5004b03d3576e8b226858a28e
|
||||||
F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
|
F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
|
||||||
@@ -172,7 +172,7 @@ F src/complete.c dc1d136c0feee03c2f7550bafc0d29075e36deac
|
|||||||
F src/ctime.c 4262c227bc91cecc61ae37ed3a40f08069cfa267
|
F src/ctime.c 4262c227bc91cecc61ae37ed3a40f08069cfa267
|
||||||
F src/date.c 067a81c9942c497aafd2c260e13add8a7d0c7dd4
|
F src/date.c 067a81c9942c497aafd2c260e13add8a7d0c7dd4
|
||||||
F src/delete.c 2317c814866d9aa71fea16b3faf4fdd4d6a49b94
|
F src/delete.c 2317c814866d9aa71fea16b3faf4fdd4d6a49b94
|
||||||
F src/expr.c cd4fb5acb6060a2fec30dc07fef7f8113ff3f8ad
|
F src/expr.c 0bbb44462a19169189b2709fbbd800950521b5ae
|
||||||
F src/fault.c 160a0c015b6c2629d3899ed2daf63d75754a32bb
|
F src/fault.c 160a0c015b6c2629d3899ed2daf63d75754a32bb
|
||||||
F src/fkey.c 914a6bbd987d857c41ac9d244efa6641f36faadb
|
F src/fkey.c 914a6bbd987d857c41ac9d244efa6641f36faadb
|
||||||
F src/func.c 5c50c1ea31fd864b0fe921fe1a8d4c55acd609ef
|
F src/func.c 5c50c1ea31fd864b0fe921fe1a8d4c55acd609ef
|
||||||
@@ -1105,7 +1105,7 @@ F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
|
|||||||
F tool/warnings.sh fbc018d67fd7395f440c28f33ef0f94420226381
|
F tool/warnings.sh fbc018d67fd7395f440c28f33ef0f94420226381
|
||||||
F tool/wherecosttest.c f407dc4c79786982a475261866a161cd007947ae
|
F tool/wherecosttest.c f407dc4c79786982a475261866a161cd007947ae
|
||||||
F tool/win/sqlite.vsix 97894c2790eda7b5bce3cc79cb2a8ec2fde9b3ac
|
F tool/win/sqlite.vsix 97894c2790eda7b5bce3cc79cb2a8ec2fde9b3ac
|
||||||
P 5dcc2d91bd343cd0fac79d3c8f079a5ce534cdf7
|
P 9103c27ceb3f4023ea3a41b679a10717d3f80210
|
||||||
R 4c2c4347dbc9045867f7f93fb89a2b59
|
R 66ae81cd15b8b8eab1989c80a506936c
|
||||||
U drh
|
U drh
|
||||||
Z 4578d43c48945a1e8da3abe73645bfd7
|
Z 5187416864919678052fb71ae4c5e22d
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
9103c27ceb3f4023ea3a41b679a10717d3f80210
|
d43dcbc488120aeb7104ab9e6a27f62bb348bf6a
|
||||||
@@ -1734,12 +1734,13 @@ int sqlite3CodeSubselect(
|
|||||||
dest.affSdst = (u8)affinity;
|
dest.affSdst = (u8)affinity;
|
||||||
assert( (pExpr->iTable&0x0000FFFF)==pExpr->iTable );
|
assert( (pExpr->iTable&0x0000FFFF)==pExpr->iTable );
|
||||||
pExpr->x.pSelect->iLimit = 0;
|
pExpr->x.pSelect->iLimit = 0;
|
||||||
|
testcase( pKeyInfo==0 ); /* Caused by OOM in sqlite3KeyInfoAlloc() */
|
||||||
if( sqlite3Select(pParse, pExpr->x.pSelect, &dest) ){
|
if( sqlite3Select(pParse, pExpr->x.pSelect, &dest) ){
|
||||||
sqlite3DbFree(pParse->db, pKeyInfo);
|
sqlite3DbFree(pParse->db, pKeyInfo);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
pEList = pExpr->x.pSelect->pEList;
|
pEList = pExpr->x.pSelect->pEList;
|
||||||
assert( pKeyInfo!=0 ); /* OOM will exit after sqlite3Select() */
|
assert( pKeyInfo!=0 ); /* OOM will cause exit after sqlite3Select() */
|
||||||
assert( pEList!=0 );
|
assert( pEList!=0 );
|
||||||
assert( pEList->nExpr>0 );
|
assert( pEList->nExpr>0 );
|
||||||
pKeyInfo->aColl[0] = sqlite3BinaryCompareCollSeq(pParse, pExpr->pLeft,
|
pKeyInfo->aColl[0] = sqlite3BinaryCompareCollSeq(pParse, pExpr->pLeft,
|
||||||
|
|||||||
Reference in New Issue
Block a user