mirror of
https://github.com/sqlite/sqlite.git
synced 2025-11-14 00:22:38 +03:00
Fix some VdbeMemCopy() related problems. (CVS 4787)
FossilOrigin-Name: aca2bee8662c3adaa47b3e70b1ef35347111f9eb
This commit is contained in:
14
manifest
14
manifest
@@ -1,5 +1,5 @@
|
|||||||
C Fix\sa\sproblem\sin\sthe\sptrchng.test\sscript.\s(CVS\s4786)
|
C Fix\ssome\sVdbeMemCopy()\srelated\sproblems.\s(CVS\s4787)
|
||||||
D 2008-02-14T05:44:45
|
D 2008-02-14T15:31:52
|
||||||
F Makefile.arm-wince-mingw32ce-gcc ac5f7b2cef0cd850d6f755ba6ee4ab961b1fadf7
|
F Makefile.arm-wince-mingw32ce-gcc ac5f7b2cef0cd850d6f755ba6ee4ab961b1fadf7
|
||||||
F Makefile.in bc2b5df3e3d0d4b801b824b7ef6dec43812b049b
|
F Makefile.in bc2b5df3e3d0d4b801b824b7ef6dec43812b049b
|
||||||
F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654
|
F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654
|
||||||
@@ -107,7 +107,7 @@ F src/malloc.c 60e392a4c12c839517f9b0db7b995f825444fb35
|
|||||||
F src/md5.c c5fdfa5c2593eaee2e32a5ce6c6927c986eaf217
|
F src/md5.c c5fdfa5c2593eaee2e32a5ce6c6927c986eaf217
|
||||||
F src/mem1.c b15e107d51bdd4bcf410c18798ee48bee4768d4e
|
F src/mem1.c b15e107d51bdd4bcf410c18798ee48bee4768d4e
|
||||||
F src/mem2.c ed0cb11ae43a3cc92bfb07172c2801956e94eaba
|
F src/mem2.c ed0cb11ae43a3cc92bfb07172c2801956e94eaba
|
||||||
F src/mem3.c cf1bf5b2f9d4d76e465c84c0607f6882d3b1b522
|
F src/mem3.c 4ca65028bd5aabebc087cd29ab2ac1c10ce6a0d4
|
||||||
F src/mem4.c 36ecd536a8b7acfe4cbf011353dae6ea68121e40
|
F src/mem4.c 36ecd536a8b7acfe4cbf011353dae6ea68121e40
|
||||||
F src/mutex.c 3259f62c2429967aee6dc112117a6d2f499ef061
|
F src/mutex.c 3259f62c2429967aee6dc112117a6d2f499ef061
|
||||||
F src/mutex.h 079fa6fe9da18ceb89e79012c010594c6672addb
|
F src/mutex.h 079fa6fe9da18ceb89e79012c010594c6672addb
|
||||||
@@ -177,7 +177,7 @@ F src/vdbeapi.c cf9fc963efae3cdf5de08e2a9718b487059c7fc5
|
|||||||
F src/vdbeaux.c 36d4db24659146606a1c755650f2a70cf88eec25
|
F src/vdbeaux.c 36d4db24659146606a1c755650f2a70cf88eec25
|
||||||
F src/vdbeblob.c 63c750acc7b5012479f508c0e9627372a82cb65d
|
F src/vdbeblob.c 63c750acc7b5012479f508c0e9627372a82cb65d
|
||||||
F src/vdbefifo.c 334c838c8f42d61a94813d136019ee566b5dc2f6
|
F src/vdbefifo.c 334c838c8f42d61a94813d136019ee566b5dc2f6
|
||||||
F src/vdbemem.c e060d04bc6f8cf32c638fddada266b01cad8ee9a
|
F src/vdbemem.c 73a4dd9e4ac185d7582486585cdc501f6b832dcb
|
||||||
F src/vtab.c dc8947c9c79780b19ee6d6bae4ea624a2a303353
|
F src/vtab.c dc8947c9c79780b19ee6d6bae4ea624a2a303353
|
||||||
F src/where.c 7ff0ca021cc77086e367ed3b6308fbc6bc9e1a31
|
F src/where.c 7ff0ca021cc77086e367ed3b6308fbc6bc9e1a31
|
||||||
F tclinstaller.tcl 4356d9d94d2b5ed5e68f9f0c80c4df3048dd7617
|
F tclinstaller.tcl 4356d9d94d2b5ed5e68f9f0c80c4df3048dd7617
|
||||||
@@ -617,7 +617,7 @@ F www/tclsqlite.tcl 8be95ee6dba05eabcd27a9d91331c803f2ce2130
|
|||||||
F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0
|
F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0
|
||||||
F www/version3.tcl 890248cf7b70e60c383b0e84d77d5132b3ead42b
|
F www/version3.tcl 890248cf7b70e60c383b0e84d77d5132b3ead42b
|
||||||
F www/whentouse.tcl fc46eae081251c3c181bd79c5faef8195d7991a5
|
F www/whentouse.tcl fc46eae081251c3c181bd79c5faef8195d7991a5
|
||||||
P f364d9342345cb11a4fd1961ab4f6387fb6abacc
|
P 30a45f078421bc89da9218528110e3bd90054bbf
|
||||||
R eb0b80c339e37039f409d82928c61946
|
R 163aea8d5ee05b32aa9b90b719599c4c
|
||||||
U danielk1977
|
U danielk1977
|
||||||
Z 78b86b5f54534f0aee0791249642430b
|
Z f9c60c6b01c0aaa4a339262c14d0294b
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
30a45f078421bc89da9218528110e3bd90054bbf
|
aca2bee8662c3adaa47b3e70b1ef35347111f9eb
|
||||||
12
src/mem3.c
12
src/mem3.c
@@ -20,7 +20,7 @@
|
|||||||
** This version of the memory allocation subsystem is used if
|
** This version of the memory allocation subsystem is used if
|
||||||
** and only if SQLITE_MEMORY_SIZE is defined.
|
** and only if SQLITE_MEMORY_SIZE is defined.
|
||||||
**
|
**
|
||||||
** $Id: mem3.c,v 1.9 2008/02/13 18:25:27 danielk1977 Exp $
|
** $Id: mem3.c,v 1.10 2008/02/14 15:31:52 danielk1977 Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -292,9 +292,13 @@ static void memsys3OutOfMemory(int nByte){
|
|||||||
** works for chunks that are currently checked out.
|
** works for chunks that are currently checked out.
|
||||||
*/
|
*/
|
||||||
int sqlite3MallocSize(void *p){
|
int sqlite3MallocSize(void *p){
|
||||||
Mem3Block *pBlock = (Mem3Block*)p;
|
int iSize = 0;
|
||||||
assert( (pBlock[-1].u.hdr.size4x&1)!=0 );
|
if( p ){
|
||||||
return (pBlock[-1].u.hdr.size4x&~3)*2 - 4;
|
Mem3Block *pBlock = (Mem3Block*)p;
|
||||||
|
assert( (pBlock[-1].u.hdr.size4x&1)!=0 );
|
||||||
|
iSize = (pBlock[-1].u.hdr.size4x&~3)*2 - 4;
|
||||||
|
}
|
||||||
|
return iSize;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -540,10 +540,12 @@ int sqlite3VdbeMemCopy(Mem *pTo, const Mem *pFrom){
|
|||||||
** in local variable zBuf. This function attempts to avoid freeing
|
** in local variable zBuf. This function attempts to avoid freeing
|
||||||
** this buffer.
|
** this buffer.
|
||||||
*/
|
*/
|
||||||
if( pTo->xDel ){
|
if( pTo->flags&MEM_Dyn ){
|
||||||
sqlite3VdbeMemRelease(pTo);
|
if( pTo->xDel ){
|
||||||
}else if( pTo->flags&MEM_Dyn ){
|
sqlite3VdbeMemRelease(pTo);
|
||||||
zBuf = pTo->z;
|
}else{
|
||||||
|
zBuf = pTo->z;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Copy the contents of *pFrom to *pTo */
|
/* Copy the contents of *pFrom to *pTo */
|
||||||
|
|||||||
Reference in New Issue
Block a user