aboutsummaryrefslogtreecommitdiff
path: root/src/expr.c
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2013-08-06 17:24:23 +0000
committerdrh <drh@noemail.net>2013-08-06 17:24:23 +0000
commit812ea833435970cd78ff94cf51f75ac4929027d6 (patch)
tree5c6ff865961630c17a51dc4989f91287089dd3c7 /src/expr.c
parent3535ec3e10555c1b75b4854dd6c7a52b99cde816 (diff)
downloadsqlite-812ea833435970cd78ff94cf51f75ac4929027d6.tar.gz
sqlite-812ea833435970cd78ff94cf51f75ac4929027d6.zip
Add a testcase() macro to verify OOM coverage.
FossilOrigin-Name: d43dcbc488120aeb7104ab9e6a27f62bb348bf6a
Diffstat (limited to 'src/expr.c')
-rw-r--r--src/expr.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/expr.c b/src/expr.c
index 5fca1f12c..5c5297c18 100644
--- a/src/expr.c
+++ b/src/expr.c
@@ -1734,12 +1734,13 @@ int sqlite3CodeSubselect(
dest.affSdst = (u8)affinity;
assert( (pExpr->iTable&0x0000FFFF)==pExpr->iTable );
pExpr->x.pSelect->iLimit = 0;
+ testcase( pKeyInfo==0 ); /* Caused by OOM in sqlite3KeyInfoAlloc() */
if( sqlite3Select(pParse, pExpr->x.pSelect, &dest) ){
sqlite3DbFree(pParse->db, pKeyInfo);
return 0;
}
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->nExpr>0 );
pKeyInfo->aColl[0] = sqlite3BinaryCompareCollSeq(pParse, pExpr->pLeft,