1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-08-05 15:55:57 +03:00

Revise the SQLITE_OPEN_NOFOLLOW so that it actually uses O_NOFOLLOW in the

open() system call.  This backs out the SQLITE_ACCESS_SYMLINK value but adds
the new SQLITE_OK_SYMLINK return code from the xFullPathname method of 
sqlite3_vfs when that routine resolves symbolic links. O_NOFOLLOW is always
included in open() system calls for journal files.

FossilOrigin-Name: 6a64fb6a2da6c98f1e87b55ad5689967e1db4eae2e08345471d95e28cd567e0f
This commit is contained in:
drh
2019-11-22 00:42:01 +00:00
parent cd30064bd5
commit c398c65bee
10 changed files with 50 additions and 68 deletions

View File

@@ -2403,9 +2403,13 @@ int sqlite3BtreeOpen(
rc = sqlite3OsFullPathname(pVfs, zFilename,
nFullPathname, zFullPathname);
if( rc ){
sqlite3_free(zFullPathname);
sqlite3_free(p);
return rc;
if( rc==SQLITE_OK_SYMLINK ){
rc = SQLITE_OK;
}else{
sqlite3_free(zFullPathname);
sqlite3_free(p);
return rc;
}
}
}
#if SQLITE_THREADSAFE