aboutsummaryrefslogtreecommitdiff
path: root/ext/session/changesetfuzz.c
diff options
context:
space:
mode:
authordan <dan@noemail.net>2018-11-08 14:59:51 +0000
committerdan <dan@noemail.net>2018-11-08 14:59:51 +0000
commitdbc1e9e6a83dfb4d3265a642c41056c561af93ea (patch)
tree8ae82ff22ee41b33141cd12c1a8b16e82eb8809d /ext/session/changesetfuzz.c
parentbe075d1188c3e2f05512a372e83c4c30b95d7a10 (diff)
downloadsqlite-dbc1e9e6a83dfb4d3265a642c41056c561af93ea.tar.gz
sqlite-dbc1e9e6a83dfb4d3265a642c41056c561af93ea.zip
Add tests and a fix for program "changesetfuzz".
FossilOrigin-Name: 09b90db56c2d5e3aceae59c6bf1eb07f9db9ef38da29d2162046b88d39e47b86
Diffstat (limited to 'ext/session/changesetfuzz.c')
-rw-r--r--ext/session/changesetfuzz.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/ext/session/changesetfuzz.c b/ext/session/changesetfuzz.c
index 9aa29e1e3..fd887337b 100644
--- a/ext/session/changesetfuzz.c
+++ b/ext/session/changesetfuzz.c
@@ -536,9 +536,10 @@ static int fuzzParseRecord(
int i;
u8 *p = *ppRec;
- for(i=0; rc==SQLITE_OK && i<pGrp->nCol && p<pEnd; i++){
+ for(i=0; rc==SQLITE_OK && i<pGrp->nCol; i++){
if( bPkOnly==0 || pGrp->aPK[i] ){
int sz;
+ if( p>=pEnd ) break;
if( (pParse->nVal & (pParse->nVal-1))==0 ){
int nNew = pParse->nVal ? pParse->nVal*2 : 4;
u8 **apNew = (u8**)sqlite3_realloc(pParse->apVal, nNew*sizeof(u8*));