diff options
author | dan <dan@noemail.net> | 2014-11-17 19:42:48 +0000 |
---|---|---|
committer | dan <dan@noemail.net> | 2014-11-17 19:42:48 +0000 |
commit | 2b8669a9da3296ce0ca99da34f9b158ee1eb4d1e (patch) | |
tree | 16185c62203d606d978fc5f363d53e8f69370144 /src | |
parent | dd715f7c57f78f96fa00f8cb299d082f59ddbfb5 (diff) | |
download | sqlite-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.c | 4 |
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 */ } |