/ Check-in [1465d384]
Login

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

Overview
Comment:Take care not to invoke the xShmClose method of the VFS with a NULL shared memory object.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 1465d3842c52aa7471f63deb47fe5b256d4e01c2
User & Date: drh 2010-05-04 16:33:38
Context
2010-05-04
17:20
Relax an over-zealous assert() in sqlite3WalUndo(). check-in: 8f9d22d5 user: drh tags: trunk
16:33
Take care not to invoke the xShmClose method of the VFS with a NULL shared memory object. check-in: 1465d384 user: drh tags: trunk
15:20
Add a test case to verify that log files containing pages that are not a power-of-two bytes in size are handled correctly. check-in: c2bf693f user: dan tags: trunk
Changes
Hide Diffs Side-by-Side Diffs Ignore Whitespace Patch

Changes to src/wal.c.

   609    609     /* Open file handle on the write-ahead log file. */
   610    610     if( rc==SQLITE_OK ){
   611    611       flags = (SQLITE_OPEN_READWRITE|SQLITE_OPEN_CREATE|SQLITE_OPEN_MAIN_JOURNAL);
   612    612       rc = sqlite3OsOpen(pVfs, zWal, pRet->pFd, flags, &flags);
   613    613     }
   614    614   
   615    615     if( rc!=SQLITE_OK ){
   616         -    pVfs->xShmClose(pVfs, pRet->pWIndex, 0);
          616  +    if( pRet->pWIndex ) pVfs->xShmClose(pVfs, pRet->pWIndex, 0);
   617    617       sqlite3OsClose(pRet->pFd);
   618    618       sqlite3_free(pRet);
   619    619     }else{
   620    620       *ppWal = pRet;
   621    621     }
   622    622     return rc;
   623    623   }