From: drh Date: Sat, 5 Mar 2016 15:03:31 +0000 (+0000) Subject: Work around (incorrect) ASAN warnings in memjournal.c. X-Git-Tag: version-3.12.0~104 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=65a7e769e7ac91e27e27623ba3f8d6021f78df41;p=thirdparty%2Fsqlite.git Work around (incorrect) ASAN warnings in memjournal.c. FossilOrigin-Name: 4de09777dad6188b7e897473700af3c9655e8547 --- diff --git a/manifest b/manifest index d2dded5209..e1c699e0d2 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Fix\san\sinteger\ssize\smismatch\sproblem\sin\stest_bestindex.c -D 2016-03-05T14:19:32.489 +C Work\saround\s(incorrect)\sASAN\swarnings\sin\smemjournal.c. +D 2016-03-05T15:03:31.910 F Makefile.in ead489fe5d3313b8a2a8d5f3710173a4b50dd2e0 F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434 F Makefile.msc d68db8ddac21ea2576ea5b446f12cf9ebe897a03 @@ -321,7 +321,7 @@ F src/mem1.c 6919bcf12f221868ea066eec27e579fed95ce98b F src/mem2.c f1940d9e91948dd6a908fbb9ce3835c36b5d83c3 F src/mem3.c 8768ac94694f31ffaf8b4d0ea5dc08af7010a35a F src/mem5.c 9bf955937b07f8c32541c8a9991f33ce3173d944 -F src/memjournal.c 56c7688565cf407c5f22f03e3be478d3a92bdc81 +F src/memjournal.c 7bdc7bced5884ab3a38a4ccf10487b9e01d9ebb5 F src/msvc.h d9ba56c6851227ab44b3f228a35f3f5772296495 F src/mutex.c 8e45800ee78e0cd1f1f3fe8e398853307f4a085c F src/mutex.h 779d588e3b7756ec3ecf7d78cde1d84aba414f85 @@ -1453,7 +1453,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 -P dca7b23354a6b08c926b6ed3f7345d942a409862 -R 419fa6ee740f29be7406090838523282 +P 2e35eb6b7464455467c868adfbcaad4da16d3207 +R ec05aaf410156a1b332fc5b2fb0ea4f0 U drh -Z dc391039bf997df63fda556410810121 +Z da5e511cdc73c2d6d55df28700c71c4a diff --git a/manifest.uuid b/manifest.uuid index 43346ec462..cf351af72e 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -2e35eb6b7464455467c868adfbcaad4da16d3207 \ No newline at end of file +4de09777dad6188b7e897473700af3c9655e8547 \ No newline at end of file diff --git a/src/memjournal.c b/src/memjournal.c index 9ecd2a9ba3..12b77fc340 100644 --- a/src/memjournal.c +++ b/src/memjournal.c @@ -109,7 +109,7 @@ static int memjrnlRead( do { int iSpace = p->nChunkSize - iChunkOffset; int nCopy = MIN(nRead, (p->nChunkSize - iChunkOffset)); - memcpy(zOut, &pChunk->zChunk[iChunkOffset], nCopy); + memcpy(zOut, (u8*)pChunk->zChunk + iChunkOffset, nCopy); zOut += nCopy; nRead -= iSpace; iChunkOffset = 0; @@ -153,7 +153,7 @@ static int createFile(MemJournal *p){ nWrite = p->endpoint.iOffset % p->nChunkSize; if( nWrite==0 ) nWrite = p->nChunkSize; } - rc = sqlite3OsWrite(pReal, pIter->zChunk, nWrite, iOff); + rc = sqlite3OsWrite(pReal, (u8*)pIter->zChunk, nWrite, iOff); iOff += nWrite; } if( rc!=SQLITE_OK ){ @@ -210,7 +210,7 @@ static int memjrnlWrite( assert( iOfst==p->endpoint.iOffset || iOfst==0 ); if( iOfst==0 && p->pFirst ){ assert( p->nChunkSize>iAmt ); - memcpy(p->pFirst->zChunk, zBuf, iAmt); + memcpy((u8*)p->pFirst->zChunk, zBuf, iAmt); }else{ while( nWrite>0 ){ FileChunk *pChunk = p->endpoint.pChunk; @@ -234,7 +234,7 @@ static int memjrnlWrite( p->endpoint.pChunk = pNew; } - memcpy(&p->endpoint.pChunk->zChunk[iChunkOffset], zWrite, iSpace); + memcpy((u8*)p->endpoint.pChunk->zChunk + iChunkOffset, zWrite, iSpace); zWrite += iSpace; nWrite -= iSpace; p->endpoint.iOffset += iSpace;