aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2007-06-19 10:58:24 +0000
committerdrh <drh@noemail.net>2007-06-19 10:58:24 +0000
commitb21f87dda105642af7f464195740b70be3c025db (patch)
tree09de016c854b92db4415a9fb09b5d05d623e11d3 /src
parent63fff5f7a58096d18bc0fecff1f6142624b5513d (diff)
downloadsqlite-b21f87dda105642af7f464195740b70be3c025db.tar.gz
sqlite-b21f87dda105642af7f464195740b70be3c025db.zip
Do not segfault even if sqlite is misused by requesting query results
after the query has been reset. ticket #2426. (CVS 4090) FossilOrigin-Name: 783f19be387561fbca3ac7e223bdb7dedb5450c8
Diffstat (limited to 'src')
-rw-r--r--src/vdbeapi.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/vdbeapi.c b/src/vdbeapi.c
index 63c3254ed..1db9513bb 100644
--- a/src/vdbeapi.c
+++ b/src/vdbeapi.c
@@ -453,7 +453,7 @@ int sqlite3_data_count(sqlite3_stmt *pStmt){
static Mem *columnMem(sqlite3_stmt *pStmt, int i){
Vdbe *pVm = (Vdbe *)pStmt;
int vals = sqlite3_data_count(pStmt);
- if( i>=vals || i<0 ){
+ if( pVm==0 || pVm->resOnStack==0 || i>=pVm->nResColumn || i<0 ){
static const Mem nullMem = {{0}, 0.0, "", 0, MEM_Null, SQLITE_NULL };
sqlite3Error(pVm->db, SQLITE_RANGE, 0);
return (Mem*)&nullMem;