Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Simplification to the error handling logic in the extension loader. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
07c773148d8db185fa54991df09298b6 |
User & Date: | drh 2017-12-23 14:39:36.160 |
Context
2017-12-24
| ||
18:56 | Fix a NULL pointer dereference after a syntax error that can occur as a result of check-in [6b2ff26c25bb9da3] yesterday. This problem was discovered by the OSSFuzz. (check-in: d49afb8f98 user: drh tags: trunk) | |
17:06 | Improved parser tracing output. (check-in: 25be575054 user: drh tags: lemon-improvements) | |
00:18 | Remove the ExprSpan object. Instead, keep track of the test of subphrases in the parse using the "scanpt" non-terminal. (check-in: 3eab7bdc44 user: drh tags: span-refactor) | |
2017-12-23
| ||
18:40 | Merge recent enhancements from trunk. (check-in: edceaccd66 user: drh tags: appendvfs) | |
18:34 | Merge enhancements from trunk. (check-in: 150f07fec1 user: drh tags: sqlar-shell-support) | |
14:39 | Simplification to the error handling logic in the extension loader. (check-in: 07c773148d user: drh tags: trunk) | |
13:55 | Improve the error message that comes back when sqlite3_load_extension() fails because the named file exists but is not a valid shared library. (check-in: 05fee1a21e user: drh tags: trunk) | |
Changes
Changes to src/loadext.c.
︙ | ︙ | |||
492 493 494 495 496 497 498 | zEntry = zProc ? zProc : "sqlite3_extension_init"; handle = sqlite3OsDlOpen(pVfs, zFile); #if SQLITE_OS_UNIX || SQLITE_OS_WIN for(ii=0; ii<ArraySize(azEndings) && handle==0; ii++){ char *zAltFile = sqlite3_mprintf("%s.%s", zFile, azEndings[ii]); | | | < < | < | 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 | zEntry = zProc ? zProc : "sqlite3_extension_init"; handle = sqlite3OsDlOpen(pVfs, zFile); #if SQLITE_OS_UNIX || SQLITE_OS_WIN for(ii=0; ii<ArraySize(azEndings) && handle==0; ii++){ char *zAltFile = sqlite3_mprintf("%s.%s", zFile, azEndings[ii]); int bExists = 0; if( zAltFile==0 ) return SQLITE_NOMEM_BKPT; sqlite3OsAccess(pVfs, zAltFile, SQLITE_ACCESS_EXISTS, &bExists); if( bExists ) handle = sqlite3OsDlOpen(pVfs, zAltFile); sqlite3_free(zAltFile); } #endif if( handle==0 ){ if( pzErrMsg ){ *pzErrMsg = zErrmsg = sqlite3_malloc64(nMsg); if( zErrmsg ){ |
︙ | ︙ |