1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-11-03 16:53:36 +03:00

Avoid misaligned memory allocations on Sparc in sqlite3VdbeMakeReady().

FossilOrigin-Name: a304e34675404aee860fcc97fa4ffcc57c014812
This commit is contained in:
drh
2016-01-01 16:26:22 +00:00
parent a660caf2f0
commit 3c19bb60d1
3 changed files with 9 additions and 10 deletions

View File

@@ -1,5 +1,5 @@
C Fix\san\sassert()\sthat\smight\sbe\sfalse\sfor\sa\scorrupt\sdatabase. C Avoid\smisaligned\smemory\sallocations\son\sSparc\sin\ssqlite3VdbeMakeReady().
D 2016-01-01T03:37:44.301 D 2016-01-01T16:26:22.999
F Makefile.in 28bcd6149e050dff35d4dcfd97e890cd387a499d F Makefile.in 28bcd6149e050dff35d4dcfd97e890cd387a499d
F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434 F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
F Makefile.msc 5fff077fcc46de7714ed6eebb6159a4c00eab751 F Makefile.msc 5fff077fcc46de7714ed6eebb6159a4c00eab751
@@ -402,7 +402,7 @@ F src/vdbe.c 39d7628bb8eed10a5378adcf97cca6dce7829a8f
F src/vdbe.h efb7a8c1459e31f3ea4377824c6a7e4cb5068637 F src/vdbe.h efb7a8c1459e31f3ea4377824c6a7e4cb5068637
F src/vdbeInt.h 75c2e82ee3357e9210c06474f8d9bdf12c81105d F src/vdbeInt.h 75c2e82ee3357e9210c06474f8d9bdf12c81105d
F src/vdbeapi.c 020681b943e77766b32ae1cddf86d7831b7374ca F src/vdbeapi.c 020681b943e77766b32ae1cddf86d7831b7374ca
F src/vdbeaux.c ca523180c128dc6c64894efc61eb14374117c864 F src/vdbeaux.c 2a25e57e140a3cdef14dc11912c174cf6eb9d5a6
F src/vdbeblob.c fdc4a81605ae7a35ae94a55bd768b66d6be16f15 F src/vdbeblob.c fdc4a81605ae7a35ae94a55bd768b66d6be16f15
F src/vdbemem.c fdd1578e47bea61390d472de53c565781d81e045 F src/vdbemem.c fdd1578e47bea61390d472de53c565781d81e045
F src/vdbesort.c a7ec02da4494c59dfd071126dd3726be5a11459d F src/vdbesort.c a7ec02da4494c59dfd071126dd3726be5a11459d
@@ -1406,7 +1406,7 @@ F tool/vdbe_profile.tcl 246d0da094856d72d2c12efec03250d71639d19f
F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4 F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
F tool/warnings.sh 48bd54594752d5be3337f12c72f28d2080cb630b F tool/warnings.sh 48bd54594752d5be3337f12c72f28d2080cb630b
F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
P 6e30f8c6c3af9b0df39783888a1479f88271f989 P 68360cd2211b7ab25dd4ca55a2e82e31f51f2976
R 6e164f424e8aa8f067cc3a49970e615a R be44c4e5edec4a82a16bfbdbf7214b99
U drh U drh
Z 284865b0f74f185e26863aa2df0b68aa Z f1917e9fad1e2726446c5b64d14d6919

View File

@@ -1 +1 @@
68360cd2211b7ab25dd4ca55a2e82e31f51f2976 a304e34675404aee860fcc97fa4ffcc57c014812

View File

@@ -1849,9 +1849,8 @@ void sqlite3VdbeMakeReady(
/* Allocate space for memory registers, SQL variables, VDBE cursors and /* Allocate space for memory registers, SQL variables, VDBE cursors and
** an array to marshal SQL function arguments in. ** an array to marshal SQL function arguments in.
*/ */
zCsr = (u8*)&p->aOp[p->nOp]; /* Memory avaliable for allocation */ zCsr = ((u8*)p->aOp) + ROUND8(sizeof(Op)*p->nOp); /* Available space */
assert( pParse->nOpAlloc*sizeof(Op) <= 0x7fffff00 ); nFree = sqlite3_msize(p->aOp) - ROUND8(sizeof(Op)*p->nOp); /* Size of zCsr */
nFree = (pParse->nOpAlloc - p->nOp)*sizeof(p->aOp[0]); /* Available space */
resolveP2Values(p, &nArg); resolveP2Values(p, &nArg);
p->usesStmtJournal = (u8)(pParse->isMultiWrite && pParse->mayAbort); p->usesStmtJournal = (u8)(pParse->isMultiWrite && pParse->mayAbort);