diff options
author | drh <drh@noemail.net> | 2007-06-19 10:58:24 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2007-06-19 10:58:24 +0000 |
commit | b21f87dda105642af7f464195740b70be3c025db (patch) | |
tree | 09de016c854b92db4415a9fb09b5d05d623e11d3 /src | |
parent | 63fff5f7a58096d18bc0fecff1f6142624b5513d (diff) | |
download | sqlite-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.c | 2 |
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; |