/ Check-in [62dfb44b]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:More double free paranoia
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | apple-osx
Files: files | file ages | folders
SHA1:62dfb44b3b66c4acb1a7a10c44cbee1022a88883
User & Date: adam 2010-02-26 20:54:10
Context
2010-02-26
22:05
fix merge error and compiler warning check-in: 5c0afe70 user: adam tags: apple-osx
20:54
More double free paranoia check-in: 62dfb44b user: adam tags: apple-osx
2010-02-17
19:34
Merge latest changes from the trunk into the apple-osx branch. check-in: 4b72e39b user: drh tags: apple-osx
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to src/vdbeapi.c.

52
53
54
55
56
57
58

59

60
61
62
63
64
65
66
...
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
#ifdef SQLITE_ENABLE_SQLRR
    SRRecFinalize(pStmt);
#endif
    sqlite3 *db = v->db;
#if SQLITE_THREADSAFE
    sqlite3_mutex *mutex;
#endif

    if( db==0 ) return SQLITE_MISUSE;

#if SQLITE_THREADSAFE
    mutex = v->db->mutex;
#endif
    sqlite3_mutex_enter(mutex);
    rc = sqlite3VdbeFinalize(v);
    rc = sqlite3ApiExit(db, rc);
    sqlite3_mutex_leave(mutex);
................................................................................
** This is the top-level implementation of sqlite3_step().  Call
** sqlite3Step() to do most of the work.  If a schema error occurs,
** call sqlite3Reprepare() and try again.
*/
int sqlite3_step(sqlite3_stmt *pStmt){
  int rc = SQLITE_MISUSE;
  Vdbe *v = (Vdbe*)pStmt;
  if( v && (v->db)!=0 ){
    int cnt = 0;
    sqlite3 *db = v->db;
#ifdef SQLITE_ENABLE_SQLRR
    SRRecStep(pStmt);
#endif
    sqlite3_mutex_enter(db->mutex);
    while( (rc = sqlite3Step(v))==SQLITE_SCHEMA







>
|
>







 







|







52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
...
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
#ifdef SQLITE_ENABLE_SQLRR
    SRRecFinalize(pStmt);
#endif
    sqlite3 *db = v->db;
#if SQLITE_THREADSAFE
    sqlite3_mutex *mutex;
#endif
    if (!sqlite3SafetyCheckOk(db)) {
      return SQLITE_MISUSE;
    }
#if SQLITE_THREADSAFE
    mutex = v->db->mutex;
#endif
    sqlite3_mutex_enter(mutex);
    rc = sqlite3VdbeFinalize(v);
    rc = sqlite3ApiExit(db, rc);
    sqlite3_mutex_leave(mutex);
................................................................................
** This is the top-level implementation of sqlite3_step().  Call
** sqlite3Step() to do most of the work.  If a schema error occurs,
** call sqlite3Reprepare() and try again.
*/
int sqlite3_step(sqlite3_stmt *pStmt){
  int rc = SQLITE_MISUSE;
  Vdbe *v = (Vdbe*)pStmt;
  if( v && (sqlite3SafetyCheckOk(db = v->db))){
    int cnt = 0;
    sqlite3 *db = v->db;
#ifdef SQLITE_ENABLE_SQLRR
    SRRecStep(pStmt);
#endif
    sqlite3_mutex_enter(db->mutex);
    while( (rc = sqlite3Step(v))==SQLITE_SCHEMA