SQLite

Check-in [62dfb44b3b]
Login

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

Overview
Comment:More double free paranoia
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | apple-osx
Files: files | file ages | folders
SHA1: 62dfb44b3b66c4acb1a7a10c44cbee1022a88883
User & Date: adam 2010-02-26 20:54:10.000
Context
2010-02-26
22:05
fix merge error and compiler warning (check-in: 5c0afe70a5 user: adam tags: apple-osx)
20:54
More double free paranoia (check-in: 62dfb44b3b user: adam tags: apple-osx)
2010-02-17
19:34
Merge latest changes from the trunk into the apple-osx branch. (check-in: 4b72e39bd0 user: drh tags: apple-osx)
Changes
Unified Diff Ignore Whitespace Patch
Changes to src/vdbeapi.c.
52
53
54
55
56
57
58

59

60
61
62
63
64
65
66
#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);







>
|
>







52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#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);
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
** 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







|







418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
** 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