aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authordan <dan@noemail.net>2014-11-17 19:42:48 +0000
committerdan <dan@noemail.net>2014-11-17 19:42:48 +0000
commit2b8669a9da3296ce0ca99da34f9b158ee1eb4d1e (patch)
tree16185c62203d606d978fc5f363d53e8f69370144 /src
parentdd715f7c57f78f96fa00f8cb299d082f59ddbfb5 (diff)
downloadsqlite-2b8669a9da3296ce0ca99da34f9b158ee1eb4d1e.tar.gz
sqlite-2b8669a9da3296ce0ca99da34f9b158ee1eb4d1e.zip
Avoid calling sqlite3BtreeKeysize() on a b-tree cursor in SKIPNEXT or SKIPPREV state.
FossilOrigin-Name: 54e7d3fcb1ab21c03ffef1af93ae029a2901098a
Diffstat (limited to 'src')
-rw-r--r--src/vdbe.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/vdbe.c b/src/vdbe.c
index e4cbeb656..78c5511e5 100644
--- a/src/vdbe.c
+++ b/src/vdbe.c
@@ -4408,6 +4408,10 @@ case OP_Rowid: { /* out2-prerelease */
assert( pC->pCursor!=0 );
rc = sqlite3VdbeCursorRestore(pC);
if( rc ) goto abort_due_to_error;
+ if( pC->nullRow ){
+ pOut->flags = MEM_Null;
+ break;
+ }
rc = sqlite3BtreeKeySize(pC->pCursor, &v);
assert( rc==SQLITE_OK ); /* Always so because of CursorRestore() above */
}