Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Fix two potential (and apparently harmless) shift overflows discovered by the -fcatch-undefined-behavior option of clang. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
e19eead8c9977ed4f00eac54c5bc7e90 |
User & Date: | drh 2013-12-05 16:41:55.583 |
Context
2013-12-05
| ||
17:12 | Fix harmless compiler warnings and improve the MSVC makefile. (check-in: c632567063 user: drh tags: trunk) | |
16:41 | Fix two potential (and apparently harmless) shift overflows discovered by the -fcatch-undefined-behavior option of clang. (check-in: e19eead8c9 user: drh tags: trunk) | |
2013-12-03
| ||
19:49 | Remove a branch in STAT4 logic that is no longer reachable after the previous change. (check-in: eca7d3f161 user: drh tags: trunk) | |
Changes
Changes to src/os_unix.c.
︙ | ︙ | |||
4077 4078 4079 4080 4081 4082 4083 | rc = (rc!=(-1)) ? SQLITE_OK : SQLITE_BUSY; } /* Update the global lock state and do debug tracing */ #ifdef SQLITE_DEBUG { u16 mask; OSTRACE(("SHM-LOCK ")); | | | 4077 4078 4079 4080 4081 4082 4083 4084 4085 4086 4087 4088 4089 4090 4091 | rc = (rc!=(-1)) ? SQLITE_OK : SQLITE_BUSY; } /* Update the global lock state and do debug tracing */ #ifdef SQLITE_DEBUG { u16 mask; OSTRACE(("SHM-LOCK ")); mask = ofst>31 ? 0xffffffff : (1<<(ofst+n)) - (1<<ofst); if( rc==SQLITE_OK ){ if( lockType==F_UNLCK ){ OSTRACE(("unlock %d ok", ofst)); pShmNode->exclMask &= ~mask; pShmNode->sharedMask &= ~mask; }else if( lockType==F_RDLCK ){ OSTRACE(("read-lock %d ok", ofst)); |
︙ | ︙ |
Changes to src/util.c.
︙ | ︙ | |||
1277 1278 1279 1280 1281 1282 1283 | u64 sqlite3LogEstToInt(LogEst x){ u64 n; if( x<10 ) return 1; n = x%10; x /= 10; if( n>=5 ) n -= 2; else if( n>=1 ) n -= 1; | | > > | 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 | u64 sqlite3LogEstToInt(LogEst x){ u64 n; if( x<10 ) return 1; n = x%10; x /= 10; if( n>=5 ) n -= 2; else if( n>=1 ) n -= 1; if( x>=3 ){ return x>60 ? (u64)LARGEST_INT64 : (n+8)<<(x-3); } return (n+8)>>(3-x); } |