diff --git a/manifest b/manifest
index 4bb5e63c86..8d38e2ab31 100644
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Remove\sunreachable\sbranches\sin\sexpr.c,\sreplacing\sthem\swith\sassert()\sand\ntestcase()\sstatements.
-D 2013-08-06T16:56:44.584
+C Add\sa\stestcase()\smacro\sto\sverify\sOOM\scoverage.
+D 2013-08-06T17:24:23.114
 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
 F Makefile.in 5e41da95d92656a5004b03d3576e8b226858a28e
 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
@@ -172,7 +172,7 @@ F src/complete.c dc1d136c0feee03c2f7550bafc0d29075e36deac
 F src/ctime.c 4262c227bc91cecc61ae37ed3a40f08069cfa267
 F src/date.c 067a81c9942c497aafd2c260e13add8a7d0c7dd4
 F src/delete.c 2317c814866d9aa71fea16b3faf4fdd4d6a49b94
-F src/expr.c cd4fb5acb6060a2fec30dc07fef7f8113ff3f8ad
+F src/expr.c 0bbb44462a19169189b2709fbbd800950521b5ae
 F src/fault.c 160a0c015b6c2629d3899ed2daf63d75754a32bb
 F src/fkey.c 914a6bbd987d857c41ac9d244efa6641f36faadb
 F src/func.c 5c50c1ea31fd864b0fe921fe1a8d4c55acd609ef
@@ -1105,7 +1105,7 @@ F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
 F tool/warnings.sh fbc018d67fd7395f440c28f33ef0f94420226381
 F tool/wherecosttest.c f407dc4c79786982a475261866a161cd007947ae
 F tool/win/sqlite.vsix 97894c2790eda7b5bce3cc79cb2a8ec2fde9b3ac
-P 5dcc2d91bd343cd0fac79d3c8f079a5ce534cdf7
-R 4c2c4347dbc9045867f7f93fb89a2b59
+P 9103c27ceb3f4023ea3a41b679a10717d3f80210
+R 66ae81cd15b8b8eab1989c80a506936c
 U drh
-Z 4578d43c48945a1e8da3abe73645bfd7
+Z 5187416864919678052fb71ae4c5e22d
diff --git a/manifest.uuid b/manifest.uuid
index 6f265e5fa6..453fe9f728 100644
--- a/manifest.uuid
+++ b/manifest.uuid
@@ -1 +1 @@
-9103c27ceb3f4023ea3a41b679a10717d3f80210
\ No newline at end of file
+d43dcbc488120aeb7104ab9e6a27f62bb348bf6a
\ No newline at end of file
diff --git a/src/expr.c b/src/expr.c
index 5fca1f12c0..5c5297c187 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,