aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/vdbeaux.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/vdbeaux.c b/src/vdbeaux.c
index 381906fa0..5d9e9506b 100644
--- a/src/vdbeaux.c
+++ b/src/vdbeaux.c
@@ -14,7 +14,7 @@
** to version 2.8.7, all this code was combined into the vdbe.c source file.
** But that file was getting too big so this subroutines were split out.
**
-** $Id: vdbeaux.c,v 1.474 2009/07/14 18:35:46 drh Exp $
+** $Id: vdbeaux.c,v 1.475 2009/07/15 16:30:50 drh Exp $
*/
#include "sqliteInt.h"
#include "vdbeInt.h"
@@ -2420,11 +2420,10 @@ UnpackedRecord *sqlite3VdbeRecordUnpack(
idx = getVarint32(aKey, szHdr);
d = szHdr;
u = 0;
- while( idx<szHdr && u<p->nField ){
+ while( idx<szHdr && u<p->nField && d<=nKey ){
u32 serial_type;
idx += getVarint32(&aKey[idx], serial_type);
- assert( d+sqlite3VdbeSerialTypeLen(serial_type) <= nKey );
pMem->enc = pKeyInfo->enc;
pMem->db = pKeyInfo->db;
pMem->flags = 0;