diff options
author | drh <drh@noemail.net> | 2013-08-06 17:24:23 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2013-08-06 17:24:23 +0000 |
commit | 812ea833435970cd78ff94cf51f75ac4929027d6 (patch) | |
tree | 5c6ff865961630c17a51dc4989f91287089dd3c7 /src/expr.c | |
parent | 3535ec3e10555c1b75b4854dd6c7a52b99cde816 (diff) | |
download | sqlite-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.c | 3 |
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, |