diff options
author | drh <> | 2023-11-10 17:49:26 +0000 |
---|---|---|
committer | drh <> | 2023-11-10 17:49:26 +0000 |
commit | 5a81e6e5cedb29be1ce8d41053c27e5b4a4f82fd (patch) | |
tree | 0704703f4af9eb6c968d200f88e8a278f4251eea /src/pager.c | |
parent | 53381132be7ca901d821922f31bd62d4558fc489 (diff) | |
download | sqlite-5a81e6e5cedb29be1ce8d41053c27e5b4a4f82fd.tar.gz sqlite-5a81e6e5cedb29be1ce8d41053c27e5b4a4f82fd.zip |
Ensure 8-byte alignment of data structues in sqlite3_database_file_object().
This should have appeared on trunk originally and then be cherry-picked onto
the branch. Oh well....
FossilOrigin-Name: ac39800bb2685fa287c7d834faed75f0bc61320ef986de314392d6eadb574d30
Diffstat (limited to 'src/pager.c')
-rw-r--r-- | src/pager.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/pager.c b/src/pager.c index e54750424..4687ab0f1 100644 --- a/src/pager.c +++ b/src/pager.c @@ -5062,10 +5062,13 @@ act_like_temp_file: */ sqlite3_file *sqlite3_database_file_object(const char *zName){ Pager *pPager; + const char *p; while( zName[-1]!=0 || zName[-2]!=0 || zName[-3]!=0 || zName[-4]!=0 ){ zName--; } - pPager = *(Pager**)(zName - 4 - sizeof(Pager*)); + p = zName - 4 - sizeof(Pager*); + assert( EIGHT_BYTE_ALIGNMENT(p) ); + pPager = *(Pager**)p; return pPager->fd; } |