System.Data.SQLite

Login
This project makes use of Eagle, provided by Mistachkin Systems.
Eagle: Secure Software Automation
Ticket Hash: fc994d007d8e4147f3caa05b0a8b49ef56ec6d5a
Title: Fix bug in interop.c
Status: Closed Type: Code_Defect
Severity: Important Priority: Immediate
Subsystem: Native_Assembly Resolution: Fixed
Last Modified: 2014-02-07 01:16:09
Version Found In:
Description:
This code in interop.c needs a null check on p before it accesses p->magic.

__declspec(dllexport) int WINAPI sqlite3_finalize_interop(sqlite3_stmt *stmt)
{
  Vdbe *p;
  sqlite3 *db;
  int ret;

  p = (Vdbe *)stmt;
  db = (p == NULL) ? NULL : p->db;

  if (p->magic == VDBE_MAGIC_DEAD)
  {
    if (db == NULL)
    {
      sqlite3_free(p);
      ret = SQLITE_OK;
    }
  }
  else
    ret = sqlite3_finalize(stmt);

  return ret;
}

<hr /><i>shane added on 2011-02-16 03:43:22 UTC:</i><br />
Added null check.  Check-in [726d3115f6] .