aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/os_kv.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/os_kv.c b/src/os_kv.c
index b99f5574c..db95a305b 100644
--- a/src/os_kv.c
+++ b/src/os_kv.c
@@ -700,7 +700,7 @@ static int kvvfsReadDb(
unsigned int pgno;
int got, n;
char zKey[30];
- char aData[131073];
+ char aData[133073];
assert( iOfst>=0 );
assert( iAmt>=0 );
SQLITE_KV_LOG(("xRead('%s-db',%d,%lld)\n", pFile->zClass, iAmt, iOfst));
@@ -723,9 +723,11 @@ static int kvvfsReadDb(
}else{
aData[got] = 0;
if( iOfst+iAmt<512 ){
- n = kvvfsDecode(aData, &aData[1000], 1000);
+ int k = iOfst+iAmt;
+ aData[k*2] = 0;
+ n = kvvfsDecode(aData, &aData[2000], sizeof(aData)-2000);
if( n>=iOfst+iAmt ){
- memcpy(zBuf, &aData[1000+iOfst], iAmt);
+ memcpy(zBuf, &aData[2000+iOfst], iAmt);
n = iAmt;
}else{
n = 0;